我只想在 HTML 页面中显示勾号 (✔) 和叉号 (✘),但它显示为方框或粘稠物“”——显然与编码有关。
我已将元标记设置为显示 utf-8,但显然我遗漏了一些东西。
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
编辑/解决方案: 根据使用 FireBug 发表的评论,我发现我的页面传递的 header 实际上是“Content-Type:text/html”,而不是 UTF-8。使用 Notepad++ 查看文件格式显示我的文件格式为“UTF-8 without BOM”。将其更改为仅 UTF-8,符号现在可以正确显示...但 Firebug 似乎仍然指示相同的内容类型。
最佳答案
您应该确保 HTTP 服务器 header 是正确的。
特别是标题:
Content-Type: text/html; charset=utf-8
应该存在。
如果存在 HTTP header ,元标记将被浏览器忽略。
同时确保您的文件在提供之前实际编码为 UTF-8,检查/尝试以下操作:
- 确保您的编辑器将其保存为 UTF-8。
- 确保您的 FTP 或任何文件传输程序不会弄乱文件。
- 尝试使用 HTML 编码的实体,例如
uuu;
。 - 为了确定,hexdump 文件并查看字符,对于 ✔,它应该是 E2 9C 94 。
注意:如果您使用系统找不到字形的 unicode 字符(没有包含该字符的字体),您的浏览器应该显示一个问号或一些 block 状符号。但是,如果您像您一样看到多个罗马字符,则表示存在编码问题。
关于html - 在 HTML 中显示 unicode 符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59640825/