首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在HTML中显示unicode符号

在HTML中显示unicode符号
EN

Stack Overflow用户
提问于 2009-11-08 21:42:41
回答 5查看 175.7K关注 0票数 98

我想简单地在一个超文本标记语言页面中显示勾号(✔)和十字(✘)符号,但它显示为一个方框或goop -œ“-显然与编码有关。

我已经设置了meta标签来显示utf-8,但是很明显我遗漏了一些东西。

代码语言:javascript
复制
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

使用FireBug,我发现我的页面传递的标题实际上是“Content- Edit/Solution::text/html”,而不是UTF-8。使用Notepad++查看文件格式显示我的文件被格式化为"UTF-8,不带BOM“。将其更改为UTF-8符号现在可以正确显示...但是firebug似乎仍然指示相同的内容类型。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-11-08 21:44:55

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

具体来说,头部:

代码语言:javascript
复制
Content-Type: text/html; charset=utf-8

应该会出现。

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

在提供服务之前,还要确保您的文件实际编码为UTF-8,请检查/尝试以下操作:

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

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

票数 61
EN

Stack Overflow用户

发布于 2013-12-06 10:13:31

我知道答案已经被接受了,但我想指出一些事情。

设置content-typecharset显然是一种很好的做法,在服务器上设置要好得多,因为它可以确保整个应用程序的一致性。

但是,只有当我的应用程序所使用的语言使用了大量仅在UTF-8字符集中可用的字符时,我才会使用UTF-8。如果要在其中一种情况下显示unicode字符或符号,可以在不更改页面charset的情况下执行此操作。

只要在其numeric character reference (NCR)中提到符号,HTML呈现器总是能够显示不属于页面编码字符集的符号。听起来很奇怪,但这是真的。

因此,即使您的html有一个标头声明它的编码为ansi或任何十六进制字符集,您也可以通过使用其iso字符引用、十进制✓或十六进制✓来显示复选标记

所以很难理解为什么你会在你的页面上遇到这个问题。你能检查NCR值是否正确吗,这是一个很好的参考http://www.fileformat.info/info/unicode/char/2713/index.htm

票数 19
EN

Stack Overflow用户

发布于 2009-11-08 21:47:22

确保您实际将文件保存为UTF-8,或者为特殊字符使用HTML实体(&#nnn;)。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1696619

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档