UTF-8特殊字符不会显示出来。
UTF-8特殊字符不能显示的原因是因为这些字符在Unicode中是在2010年第6版中添加的,通常需要大约十年的时间,才能在字体中得到广泛支持。目前包含这些字符的字体很少,其中包括Symbola和Segoe UI Symbol。如果安装了这两种字体之一,您可能会看到这些字符;否则就看不到了。Segoe UI Symbol随Windows 8一起发布,并且显然也随Windows 7(至少某些变体)一起发布,尽管Windows 7版本可能受限制 - 可以从Microsoft获得更新。Symbola是一种免费字体,因此您原则上可以将其用作可下载字体(通过-font),但它的文件大小相当大。网络浏览器应该使用回退字体,如果为元素指定的字体不包含内容中某个字符的字形。Firefox通常会实现此功能,而IE则不会,尤其是在旧版本中,因此如果在网页中使用该字符,最好将其包装在自己的元素中(通常使用),并在CSS中设置以下内容:
font-family: Segoe UI Symbol, Symbola;
但是,这将仅对使用包含其中一个字体的计算机的人有效(不使用-font)。感谢您的解释,我尝试使用-font,然后安装它并在不使用-font的情况下使用它,效果如您所说。
UTF-8特殊字符不显示的问题可能是由于文件的编码与HTML页面中的声明不匹配导致的。可以使用W3-checker来检查页面,它可能会给出有关页面问题的提示。
编辑:
你说得对,这不是一个编码问题,这个字符的编号太高了,普通字体不支持它。也许你可以使用 ☛ 或 ☞ 中的一个,否则你将不得不使用一个支持完整unicode的网页字体,而这样的字体可能相当大。
马丁,你能在我的帖子中看到这个字符吗?还是你看到的是这个带有代码的方块?我的页面中包含了charset utf-8的声明。
- 我看到的是方块,它应该是什么样的符号?
应该是手指向右的符号。所以你可以看到SO绝对是utf-8兼容的,而我们看不到这个符号。
你是指像这样的 ☛ 或者这样的 ☞ 吗?
是的,类似这样,但我不是在寻找类似的东西。我只是想了解这个编码和字体是如何工作的。
- 好的,我明白了。为了安全地收集字符和符号,你可以看看这个字体图,它并不包含所有可能的字符,但我经常用它来找到一个好的符号。