例如,在开发工具中我得到类似的信息:
其中一些方块位于行尾,最初我以为它们是回车符,但事实证明它们不是。
此外,方块出现在没有换行符的后面=
或许多地方,并且在十六进制编辑器中查看文件显示和>
之间根本没有任何字符(例如显示为)=
"
id="
id=? "
这也偶尔出现在网页中,例如我看到:
e
我复制了那句话,在十六进制编辑器中查看了它,并且和之间再次没有字符:
。源代码中也没有显示任何内容。
我以前从未见过这种情况,自从我几天前重新安装 arch 后才出现这种情况。
Chrome 是:版本19.0.1084.15 dev
Arch 是:内核3.3.1-1-ARCH
,x86_64
locale.gen
语言环境未en_GB
注释(UTF-8
和ISO-8859-1
)。 chrome 中的编码默认为ISO-8859-1
,但切换为UTF-8
没有区别。
这是我使用的 html 文件:测试.html
修复会很棒,解释会很棒,确认这是(或不是)只是我的设置的问题也很好。
编辑:在研究字体之后,我发现在这两种情况下它都试图使用 arial,它在 arch 中是ttf-ms-fonts
包的一部分。安装导致字体改变,但方块仍然存在(尽管形状不同)。在这两种情况下,字体都不遵循系统的默认字体。
答案1
这解决了我的问题。安装 dejavu 字体。
sudo pacman -S ttf-dejavu
答案2
有一种更好的方法来确定您缺少哪种字体,而不是盲目安装字体包。
例如,我执行了以下操作来解决丢失的字体:
- 我收到一封包含两个未知 Unicode 字符的电子邮件(代码点:
U+1F44B
,U+1F3FC
) - 将它们粘贴到此处:https://www.fontspace.com/unicode/analyzer#e=8J-Ri_Cfj7w
- 查看结果,其中将显示包含这些表情符号/字符的字体
- 仅安装所需的字体包,对我来说
pacman -S noto-fonts-emoji
很有效。 - 重建字体缓存
fc-cache -vf
- 重新启动 Chrome/Chrom
或者,您可以查找 Unicode 名称以帮助在 Google 搜索中查找字体:
$ echo -e
答案3
标准打印Unicode 替换字符代替当前字体中不存在的字符。
可能的解决方法是更改操作系统(如果浏览器继承操作系统设置)或浏览器的默认字体。例如,我的 Ubuntu 11.10 上的 Firefox 11.0 使用“serif”字体(这可能是自由衬线),似乎支持很多Unicode字符。
PS:图像似乎消失了。
答案4
我也有同样的问题。 这一页例如,特别难以阅读,整个页面的文本中都出现了方块。我可以通过将所有arial*.ttf
文件重命名/usr/share/fonts/truetype/msttcorefonts
为备份文件名,然后将 Chrome 的默认 sans-serif 字体设置为 Droid Sans 来修复此问题。我现在根本无法使用 Arial 字体,但至少页面看起来不错。