具有特殊字符的字符串无法在innerHTML中正确呈现

时间:2020-07-21 08:22:48

标签: javascript html string text

我对JavaScript和HTML还是很陌生。我正在尝试编写一个程序,该程序接受一个数字并吐出乱码(包含各种特殊字符和符号;这是一个示例:@;f%UA@;f%UDaVI*&e"q+/[))。

我的JavaScript代码输入一个输入数字并生成一串乱码,然后将其显示在页面上的段落上(使用document.getElementById("output").innerHTML),同时复制到剪贴板。该程序似乎在大多数情况下都可以正常工作,但是每当输出乱码包含左尖括号(<)时,段落中的文本就不会完全显示。

以下是示例输出:

  • 乱码:K@8K@<v I,=] 1h
  • 页面正文中的输出:K@8K@

即使上述代码格式在左尖括号<处被打乱,这也使我怀疑这可能是由转义序列或类似原因引起的。如果有人可以提出一种方法来解决此问题,我将非常高兴。

2 个答案:

答案 0 :(得分:1)

这与“转义序列”无关,而与<>的含义在HTML中只是拥有

浏览器认为您正在用<…声明HTML 标签 –并且标签不会在屏幕上以HTML格式显示,它们是结构

您不会想要将创建的内容解释为HTML,而是希望将其视为文本-因此请不要使用.innerHTML,而应使用.innerText

答案 1 :(得分:0)

对我来说,解决该问题的方法是在<meta charset="UTF-8" />部分中添加<head>