【问题标题】:Inconsistent UTF-8 encoding error HTML5 [duplicate]不一致的 UTF-8 编码错误 HTML5 [重复]
【发布时间】:2014-01-17 08:23:10
【问题描述】:

我的 HTML5 网页有问题,我无法找到答案。我在文本中使用瑞典字母(åäö)并开始使用 UTF-8 编码:

<!DOCTYPE html>
<html lang = 'sv'>

<head>
    <title> </title>
    <meta charset='utf-8'>
    <meta name="description" content=' '>
    <link rel = 'stylesheet' href = './css/auroracss.css'>
</head>

这不适用于在我的 4 个 HTML5 页面中的 3 个中显示瑞典字母,因为我在预览时得到了 � 字符。但是,对于第四页,使用完全相同的 head 标签,字符 正确显示。

当我将 UTF-8 切换到 ISO-8859-1 时,情况正好相反 - 显示字符将在 4 页中的 3 页上正常工作,但使用 UTF-8 正确显示的同一页将显示 � 应用 ISO 编码时的字符。

一切都会验证。

我想在这里只坚持一种编码选择,不要混合它们,即使这可能是一个快速的解决方案。问题的原因是什么?

【问题讨论】:

  • 这仅仅意味着物理文件没有以您在标头中指定的编码进行编码。

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


【解决方案1】:

实际上,4 页中的 3 页是 ISO-8859-1 编码的(或者可能是 windows-1252)。假设服务器没有在 HTTP 标头中宣布字符编码(看起来,因为您的 meta 标记生效),您只需要 a)为它们声明 &lt;meta charset=windows-1252&gt; 而不是声称它们是 UTF-8 编码的,或 b) 将它们转换为 UTF-8 编码。

通常更可取的转换(UTF-8 被广泛认为是要走的路,甚至在某些“生活标准”中宣布为唯一允许的编码)。您可以使用例如Notepad++;使用它,您只需打开一个文件,使用程序命令转换为 UTF-8,然后保存文件。

【讨论】:

  • 感谢您抽出宝贵时间回答。我没有足够的代表来支持您的回复,但它有很大帮助。
  • 当答案正确时,您可以投票,但您必须通过单击答案左侧的复选标记来表明它是正确的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-05-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-16
  • 1970-01-01
  • 2022-07-26
相关资源
最近更新 更多