这是html文件:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>emoji</title>
</head>
<body>
\ud83d\ude00
<script>
var string = '\ud83d\ude00';
document.write(string);
console.log(string);
</script>
</body>
</html>
unicode&#39; \ ud83d \ ude00&#39;在body标签中不能显示为表情符号而是字符串。但是&#39; \ ud83d \ ude00&#39;可以通过document.write()和console.log()显示为表情符号,甚至认为文档字符集是UTF-8。为什么呢?
答案 0 :(得分:1)
元标题中的UTF-8只是说明了如何阅读HTML响应的文本,它没有将实际的DOM文档放入某种模式来制作文档本身就是UTF-8。
至于你的字符串工作原理:JavaScript字符串是a series of UTF-16 code units。所以'\ud83d\ude00'
在JavaScript级别定义了表情符号。然后使用document.write
将该字符串写入文档。此时,您正在处理实时文档,而不是您所说的UTF-8源文本。
如果您想直接在表单中包含表情符号,而不是通过document.write
,只需将其粘贴到文档中即可;如果您将文件保存为UTF-8(您需要,因为您已告诉浏览器您正在使用的编码),您的编辑器将为其输出相应的UTF-8序列。
答案 1 :(得分:1)
请注意这是对T.J.的补充。克劳德的答案 - 我没有50个代表,所以无法添加评论:(
您错误地在html中转义,在Javascript反斜杠( \ )中用于转义,但在HTML转义中通过添加&符号前缀来实现(&amp; )并用分号后缀(; )。
您可以使用HTML数字字符引用:
Content-Range
&#13;
here is是表情符号HTML代码的一个很好的参考。
免责声明:我与该网站没有任何关系
答案 2 :(得分:0)
最明显的原因是 <div ng-repeat=" day in excDays">
<p>{{day}}</p>
</div>
在HTML测试中没有转义序列。
使用HTML entities代替它应该有效:
\ud83d\ude00