为什么谷歌浏览器没有显示正确的编码?

11

抱歉如果这不是发布此类问题的正确位置,但我已经尽力想出一个答案了。我不知道是否与编码有关,在许多网页上,Chrome无法正确显示一些字符。即像破折号、省略号等。

以下是一个例子。

encoding example

带有¨uml¨符号的O应该是一个省略号。在Firefox上我没有看到这个问题,在另一台电脑的Chrome上也没有看到这个问题。编码设置为自动检测和UTF-8。如果我复制并粘贴带有¨uml¨符号的O,它会粘贴成省略号。

你们知道为什么会发生这种情况以及如何解决吗?


顺便提一下,Chrome 已更新到最新版本,并且我已尝试禁用所有扩展并重新加载,但没有成功。 - i7nvd
4个回答

13
如果粘贴回来的字符与预期字符相同,则这不是编码问题,而可能是字体问题:您可能在系统中安装了用于显示S.O. (以及可能是其他页面文本的)Chrome正在使用的字体。 如果此字体已损坏(例如,它自己具有不正确的编码声明),则可能会发生此情况。
解决方法是找出哪个是有问题的字体,并将其从系统中卸载。

1
好的,我会尽快接受这个答案。谢谢!通过右键单击并检查元素,查看它所做的调用,找到了有问题的字体。删除了有问题的字体,然后它就像预期的那样工作了。谢谢! - i7nvd
1
这不是正确的答案,请参考[user1990310]的帖子获取正确答案。 - dns
1
@dns:“找出有问题的字体并卸载它”和“选择通用的Arial副本并停用它”是同一件事,只是另一个答案列出了某些用户遇到的具体字体。 - jsbueno
@jsbueno 不是的。你没有读对评论。dns 是正确的。看看 user1990310 的回复。这与字体无关,而是与 Chrome 选项的设置有关。 - Cully
1
另一个检查呈现字体问题的好技巧是进入错误显示文本的 检查元素。然后,在第一个样式框 (element.style) 中添加:font-family: arial; 或任何其他不同的字体。文本将立即使用这种新字体呈现。 - rolgalan
@jsbueno 您的答案在我的情况下也是正确的。在某些更新版本的Chrome中,“连字符”这个HTML实体之一停止被编码。字体族相同,但在Chrome升级后,无论如何都停止显示实体编码。这给了我一个想法,设置一个备用字体族以确保HTML实体的“正确”编码。现在,它运行良好。感谢您的帖子。 - akgupta

4

我在Mac OSX.7.5上使用Universal Type Client时遇到了Chrome的问题。

在Chrome中,打开弹出式菜单(3个水平条)> 工具 > 编码,并将页面设置为自动检测、UTF-8(如果它减慢了浏览器的速度,您应该关闭自动检测)。

在Universal Type Client中,有两个版本的Arial彼此冲突。

选择通用副本Arial并将其停用。

现在所有页面在Chrome中都可以正确呈现。


1
我有一个类似的问题。但是网站上的文字显示正常,只有在Google Chrome标签中的文字无法显示,会出现方块。为了解决这个问题,我不得不将编码更改为自动检测和UTF-8(我必须取消选择然后再次选择它),然后重新启动计算机以便在选项卡中显示文字。
然而,我发现下一次打开计算机时,我必须重复相同的过程,这很烦人。是否还有其他人遇到过这个问题,如果有,我们该如何解决?
谢谢, C

0

这个问题也让我很头疼。对我来说,解决方法与pho3nix的答案类似;但是我并没有创建本地样式表覆盖,而是从我的系统中删除了Helvetica Neue Regular字体。虽然有点挑剔,但比将其映射到Aerial要好。

没有必要删除Helvetica Neue Condensed、Light或其他变体。如果你安装了Helvetica Neue Regular,Chrome会选择它来渲染Helvetica Regular。

至少一些Helvetica Neue字体文件的映射方式存在问题,导致它们无法在浏览器中显示,但在Photoshop或Illustratior中可以正常显示。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接