Webkit:编码
我在 Ubuntu 上使用 gvim 创建了一个 html 文件。当我在 Windows 上使用 Safari 或 Google Chrome 打开此文件时,它没有正确显示 é ë。当我使用 vim 检查 Windows 盒子上的编码时:设置编码?它返回 latin1,在 Ubuntu 上返回 utf-8。
有人可以解释为什么会发生这种情况以及我该如何解决这个问题吗?
I created a html file with gvim on Ubuntu. When I open this file on Windows with Safari or Google Chrome it's not showing é ë correctly. When I check the encoding on my windows box with vim :set encoding? it returns latin1 and on Ubuntu this returns utf-8.
Could anybody explain why this is happening and how I can fix this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这是你的
吗?
您如何提供文件?如果您使用实际的 HTTP 服务器(而不仅仅是打开本地
.html
文件),请确保使用正确的标头提供服务:如果这些都没有帮助,您可以向我们展示实际的文件吗(甚至 Dropbox 下载链接也会有帮助)?
Is this in your
<head>
?How are you serving the file? If you're using an actual HTTP server (rather than just opening a local
.html
file) make sure to serve it with the right headers:If none of these help, could you show us the actual file (even a Dropbox download link would help)?
您需要考虑 Chrome 应该如何知道要使用哪种编码。
通常,它带有 HTTP 标头或
(如果您不这样做) t 无法控制标头。
我想在你的情况下,你两者都没有。如果您没有使用诸如
# vim: set fileencoding=
之类的神奇注释标题来设置源代码编码,那么您的编辑器报告的编码将取决于系统默认值。无论如何,您的浏览器将不知道如何解释它。You need to consider how Chrome is supposed to know which encoding to use.
Usually, this is with an HTTP header or a
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
if you don't have control over the headers.I imagine in your case you have neither. If you've not set the source code encoding using e.g. magic comment headers like
# vim: set fileencoding=<encoding name>
, then the encoding your editor reports will depend on the system defaults. And in any case, you browser won't know how to interpret that.