一尘不染

在HTML中显示Unicode符号

html

我只想在HTML页面中显示刻度(✔)和十字(✘)符号,但它显示为方框或粘稠度–显然与编码有关。

我已将meta标签设置为显示utf-8,但显然我缺少了一些东西。

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

编辑/解决方案: 通过使用FireBug所做的评论,我发现页面传递的标题实际上是“ Content-Type:text /
html”,而不是UTF-8。使用Notepad
++查看文件格式时,显示我的文件格式为“没有BOM的UTF-8”。将其更改为仅UTF-8,符号现在可以正确显示…但是萤火虫似乎仍指示相同的内容类型。


阅读 2508

收藏
2020-05-10

共1个答案

一尘不染

您应该确保HTTP服务器标头正确。

特别是标题:

Content-Type: text/html; charset=utf-8

应该存在。

如果存在HTTP标头,则浏览器将忽略meta标签。

另外,在提供文件之前,请确保文件实际上已编码为UTF-8,请检查/尝试以下操作:

  • 确保您的编辑器将其另存为UTF-8。
  • 确保您的FTP或任何文件传输程序不会弄乱文件。
  • 尝试使用HTML编码的实体,例如&#uuu;
  • 确实可以确定,将文件十六进制转储并作为字符看待,对于✔,它应该是E2 9C 94。

注意:如果您使用系统无法找到字形的unicode字符(该字符没有字体),则浏览器应显示一个问号或一些类似符号的块。但是,如果像您一样看到多个罗马字符,则表示编码有问题。

2020-05-10