编码基础知识

时间:2017-04-21 02:25:10

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

今天我已经开始了我的第一个HTML页面。页面编码在哪里准确存储?

首先,é变成了é。然后我用文本编辑器用编码保存文件。 " UTF-8"没有工作。然后我使用了" ISO 8859-1",它确实有效。我的浏览器是如何知道它是用#8; ISO 8859-1"?

编码的

我无法在文件中的任何位置看到它,因此我对存储信息的位置非常好奇。

2 个答案:

答案 0 :(得分:0)

编码存储在文件本身的标题中。 Notepad++和类似的程序通常会提供许多选项来更改和查看它。

此外,您可以使用元标记提供值:

  • <meta charset="UTF-8">(HTML5)
  • <meta http-equiv="Content-Type" content="text/html;charset=utf-8">(HTML4)

浏览器使用这些标记来解析您的文件。但是,他们没有定义文件本身的编码(这就是你的情况似乎正在发生的事情:你的文件有编码A,浏览器试图读取编码B),浏览器可以忽略这些条件。

您的服务器也可以定义(并覆盖)默认编码。示例.htaccess编码配置:

AddDefaultCharset utf-8
AddType 'text/html; charset=utf-8' .html .htm .shtml

UTF-8是网络推荐的编码标准。

答案 1 :(得分:0)

é的UTF-8编码是两个十六进制字节C3A9 当{em>解释为ISO 8859-1时,C3 A9是两个字符é

浏览器倾向于正确猜测编码。或者您可以明确地告诉它如何解释字节。尝试一下 - 您可能会看到éé之间的文字发生变化。

第三种情况是发生“双重编码”。也就是说,不知何故,é被视为UTF-8,十六进制C383 C2A9

所以,要真正确定发生了什么,你需要得到HEX。