UTF-8特殊字符不会显示出来。

17 浏览
0 Comments

UTF-8特殊字符不会显示出来。

我正在努力弄清楚为什么像这样的字符:会显示为空白框。它们是Unicode字符,字符集是utf-8。可能是字体问题导致没有相应的字形吗?有什么想法吗?

详细信息:HTML页面,我使用的是Firefox 16.0.1,Windows 7。像这篇帖子中的页面,我也看不到这个字形。

谢谢。

0
0 Comments

问题出现的原因是网站上没有使用支持该特殊字符的字体。可以通过提供支持该字符的字体,或者使用基于CSS的图标库来解决这个问题。在这种特殊情况下,可以使用Font Awesome图标库中的来代替该字符。解决方法是提供支持该字符的字体,或者使用CSS来提供自己的字体。此外,浏览器和操作系统的字体回退行为也是相关的因素。

0
0 Comments

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的情况下使用它,效果如您所说。

0
0 Comments

UTF-8特殊字符不显示的问题可能是由于文件的编码与HTML页面中的声明不匹配导致的。可以使用W3-checker来检查页面,它可能会给出有关页面问题的提示。

编辑:

你说得对,这不是一个编码问题,这个字符的编号太高了,普通字体不支持它。也许你可以使用 ☛ 或 ☞ 中的一个,否则你将不得不使用一个支持完整unicode的网页字体,而这样的字体可能相当大。

马丁,你能在我的帖子中看到这个字符吗?还是你看到的是这个带有代码的方块?我的页面中包含了charset utf-8的声明。

- 我看到的是方块,它应该是什么样的符号?

应该是手指向右的符号。所以你可以看到SO绝对是utf-8兼容的,而我们看不到这个符号。

你是指像这样的 ☛ 或者这样的 ☞ 吗?

是的,类似这样,但我不是在寻找类似的东西。我只是想了解这个编码和字体是如何工作的。

- 好的,我明白了。为了安全地收集字符和符号,你可以看看这个字体图,它并不包含所有可能的字符,但我经常用它来找到一个好的符号。

0