这苹果问题包含文本
这是什么钥匙?⎋
在 Google Chrome 中它看起来是这样的:
为什么该 Unicode 字符或其他类似字符无法在 Windows 7 上的 Google Chrome 中显示?
答案1
我认为这是一个字体替换问题。
浏览器遇到了“所选字形不在指定字体中”的问题。您可以从这里采取两个方向:您可以从另一种字体中拉出等效的字形(这通常看起来很破损,但可能不太清楚为什么对用户来说)或者只显示一个字符未找到的占位符(这看起来总是错误的,但至少很明显)。
我认为 Firefox 和 Opera 可以识别所请求的字形是一个可以安全地从其他字体中提取的符号,而其余浏览器则比较保守,只显示“呃……不知道”的字形。
答案2
有趣的是,不仅仅是 Chrome——你可能会问为什么任何以下浏览器无法在 Windows 7 上显示:
从上到下:
- Firefox(是)
- IE9(n)
- 铬 (n)
- 歌剧(y)
- 狩猎旅行(n)
因此,Firefox和Opera可以在Windows 7中显示该unicode字符,但其他浏览器则不能。
这是什么钥匙?⎋
答案3
问题是“为什么那个 Unicode 字符 [...] 在 Windows 7 上的 Google Chrome 中无法显示?”
该特定字符只是一个任意数字的 unicode 代码点。有很多 unicode 代码点没有“官方”符号。即使它们有符号,您的字体也不一定有该代码点的符号。如果您选择不同的字体,最终可能会得到不同的符号。
我查看了页面的 CSS,它显示这个字符以 Arial 显示(加上一堆其他无关紧要的字体)。Windows 自带 Arial,因此它应该总是首先选择该字体。看起来 Arial 确实不是为该 unicode 代码点指定一个符号。只要代码点没有字形,它就会以某种形式的方框显示没有字形(如其他人所指出的那样)。
更大的问题是,Firefox 或其他浏览器在 Windows 上究竟做了什么。我查看了 CSS 中列出的其他字体(我认为它可能依赖于下一个 CSS 字体),但它们也没有该代码点的字形。一种可能性是 Firefox 实际上附带了自己的字体。
深入研究 Firefox 后,我确实注意到这里有一些数学符号的字体:“C:\Program Files (x86)\Mozilla Firefox\res\fonts”。也许这就是它的来源。
答案4
按照每位软件开发人员绝对必须了解的关于 Unicode 和字符集的最低要求(没有借口!)作者:Joel Spolsky, “如果你尝试用某种编码来表示某个 Unicode 代码点,但该编码点没有对应的字符,你通常会得到一个小问号:?或者,如果你真的很厉害,会得到一个盒子“”。
我在 Archlinux 上运行 Chromium 13.0.782.112,我的默认编码是 en_US.UTF-8——该字符在最初链接的页面上显示正常。