8

我试图弄清楚为什么这样的字符:

4

3 回答 3

8

您拥有的字符是Unicode Character 'WHITE RIGHT POINTING BACKHAND INDEX' (U+1F449)。在该页面上,您可以找到支持 U+1F449 链接字体后面字符的已知字体列表。

字体
LastResort
Segoe UI Emoji
Segoe UI Symbol
Symbola

stackoverflow.com 上没有使用这两种字体,因此您还会看到一个空框。

如果这发生在您自己的网站上,并且您想修复它,那么您需要通过 CSS 提供支持字体以及 webapp @font-face,或者在这种特殊情况下可能更好,寻找基于 CSS 的图标库,例如作为字体真棒。与这个<i class="fa fa-hand-o-right">角色非常接近。

于 2012-10-23T14:54:53.467 回答
4

字符 U+1F449 在 2010 年的第 6 版中被添加到 Unicode 中,从一个字符被采用到 Unicode 中通常需要十年左右的时间才能在字体中得到广泛支持。

现在包含它的少数字体包括 Symbola 和 Segoe UI Symbol。如果您安装了其中任何一个,您可能会看到它;否则不是。Segoe UI Symbol随 Windows 8 一起提供,并且显然随 Windows 7(至少某些变体)一起提供,尽管 Windows 7 版本可能受到限制——Microsoft 提供了更新Symbola是一种免费字体,因此您原则上可以将其用作可下载字体(通过@font-face),但它的文件大小相当大。

如果为元素指定的字体不包含内容中某些字符的字形,则 Web 浏览器应该使用备用字体。火狐一般会实现这个,IE不会,尤其是老版本,所以如果你在网页上使用这个字符,最好自己包裹一个元素(通常span是为了这个目的)并设置如下它在 CSS 中:

font-family: Segoe UI Symbol, Symbola;

但这将(没有@font-face)仅适用于使用包含其中一种字体的计算机的人。

于 2012-10-23T17:12:09.473 回答
1

缺少的字体字符通常会被其他字体替换,而 UTF-8 应该能够显示所有 unicode 字符。我怀疑文件的编码(编辑器如何保存它)与 HTML 页面的元标记中的声明不匹配。

您可以使用此W3-checker检查您的页面,它可能会为您提供有关页面问题的提示。

编辑:

你是对的,这不是编码问题,字符的数量如此之大,以至于“普通”字体不支持它。也许你可以使用其中一个 ☛ ☞,否则你将不得不使用网络字体,并且完全支持 unicode 的字体可能会非常大。

于 2012-10-23T14:48:00.770 回答