在 Chrome、Firefox 和 IE 中,当查看某些网页时,我会看到一些无法显示的字符的占位符。
铬合金:
火狐浏览器:
IE:
当我在 Microsoft Word 中打开 URL 时,它会显示以下字符:
现在我的问题是:作为基本规则,我该如何处理:
- 识别缺少的字符集是什么?
- 安装缺少的字符集以便浏览器显示它们?
顺便说一句:为什么如果 Word 可以显示它们,但我的系统上的任何浏览器都不能显示它们?
答案1
这是字符编码问题,而不是字体问题。所提及的网页带有 HTTP 标头,其中表示Content-Type: text/html; charset=utf-8
,声明该页面采用 UTF-8 编码。它实际上是 Windows-1252 编码;该编码是该页面创建时(大约 2002 年)常用的编码。“�”符号表示数据错误特点级别(不表示所应用的编码中的任何字符的字节字符串)。
当然,问题应该在服务器端解决。但作为访问者,您可以指示浏览器忽略 HTTP 标头并改为应用正确的编码。为此,您通常使用“查看”命令菜单,项目“编码”或“字符编码”,然后选择“西方”、“西欧”、“ISO-8895-1”或“Windows-1252”等替代方案(这些在浏览器中实际上都意味着同一件事)。
答案2
识别缺少的字符集是什么?
首先,一个字符可以存在于许多字符集中,我认为最好先识别
- 网页本身指定了什么字符集(如果没有 - 请参阅默认)
- 什么Unicode 脚本包含字符
通常,查看 HTML 页面源代码可以帮助识别字符集。通常答案是 UTF-8 - 这回答了你的问题,但毫无帮助。Ctrl+U 在大多数浏览器中都有效,或者上下文菜单“查看页面源代码”。
为了识别字符,我通常将其粘贴到 gVim 等应用程序中,该应用程序允许您查询光标下字符的十六进制值。在 Microsoft-Word 中,您可以突出显示该字符并按 ALt+X 查看十六进制值。然后我使用 Google 查找,例如“unicode 字符 2301”。
安装缺少的字符集以便浏览器显示它们?
通常,您不会安装字符集,而是安装包含一系列所需字符的字形的字体。现在您不必太担心字体编码。同样,我会使用 Google 来查找例如“字体杂项技术符号”。
为什么如果 Word 可以显示它们,但我的系统上的任何浏览器都不能显示它们?
好问题。如今我希望浏览器使用所有可用的字体来查找任何字符的字形。需要进一步调查。也许您可以使用 Word 将文本保存为 UTF-8 文本文件并将其发布到某个地方,或者将该文本编辑到您的答案中。请参阅Jukka K. Korpela 的回答 ...+1...(叹气)
PS这个问题是一个很好的例子XY问题。我只看了X,JK看了Y。