今天我已经开始了我的第一个HTML页面。页面编码在哪里准确存储?
首先,é
变成了é
。然后我用文本编辑器用编码保存文件。 " UTF-8"没有工作。然后我使用了" ISO 8859-1",它确实有效。我的浏览器是如何知道它是用#8; ISO 8859-1"?
我无法在文件中的任何位置看到它,因此我对存储信息的位置非常好奇。
答案 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。