【问题标题】:Html encoding defaults to "Western (ISO-8859-1)" locallyHtml 编码在本地默认为“Western (ISO-8859-1)”
【发布时间】:2012-01-14 01:42:26
【问题描述】:

假设我在目录 D:\Experimental 的名为 index 中有以下文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
  <head>
    <title>Minimal XHTML 1.1 Document</title>
  </head>
  <body>
    <p>This is a minimal <a href="http://www.w3.org/TR/xhtml11">XHTML 1.1</a> document.</p>
  </body>
</html>

如果我打开链接

file:///D:/experimental/index.html

我看到了 html,但似乎字符编码默认为西方 (ISO-8859-1),当我单击查看 -> firefox 中的字符编码时,我可以看到这一点。

我想以 UTF-8 显示此内容,因为西方 (ISO-8859-1) 无法正确显示某些字符。有谁知道如何解决这个问题?

【问题讨论】:

    标签: html xhtml utf-8 iso-8859-1


    【解决方案1】:

    你应该包括:

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    

    在您的 HEAD 元素中。

    编辑 我刚刚在 Mac 上的 Firefox 中尝试了您的示例,即使没有 meta 标签,它也能正确地将文档解释为 UTF-8。 Standard 似乎表明它应该使用 XML 处理指令,但您应该也使用正确的 HTTP 标头。由于您没有发送标头(因为您没有使用 HTTP),您可以使用 meta 标记指定它们。

    【讨论】:

      【解决方案2】:

      也许可以尝试添加

      &lt;meta http-equiv="content-type" content="text/html;charset=utf-8" /&gt;

      &lt;head&gt; 部分?

      【讨论】:

        【解决方案3】:

        当从磁盘加载文件时,您的浏览器没有 HTTP Content-Type 标头来读取编码,因此它会猜测。要猜测文档编码,它使用您的操作系统当前编码、文件中的实际字节数和文件本身的信息。

        正如乔纳森所写,您可以添加一个

        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        

        元素将帮助浏览器使用正确的内容类型。无论如何,请注意,如果您的文档是从配置错误的 HTTP 服务器发送的,该服务器明确指定了 Content-Type 标头的另一种编码,则该元素通常会被浏览器忽略。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-12-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-05-27
          • 2014-02-20
          • 2011-02-12
          相关资源
          最近更新 更多