通过HTTP检索的示例HTML文档缺少:
Content-Type
标题<meta charset="<character encoding>" />
<meta http-equiv='Content-Type' content='Type=text/html; charset=<character encoding>'>
关于HTML5,是默认的,例如UTF-8,假设为字符编码?或者完全取决于阅读HTML文档的应用程序来选择默认值?
答案 0 :(得分:19)
使用以下规则确定字符集:
- 用户覆盖。
- “Content-Type”字段中的HTTP“charset”参数。
- 字节顺序标记HTML文档本身中的任何其他数据之前。
- 具有“charset”属性的META声明。
- META声明,其中“http-equiv”属性设置为“Content-Type”,值为“charset”设置。
- 未指定的启发式分析。
醇>......然后......
- 根据Unicode技术标准#22中定义的Charset Alias Matching规则规范化给定的字符编码字符串。
- 覆盖一些有问题的编码,即故意将某些编码视为不同的编码。最常见的覆盖是将US-ASCII和ISO-8859-1视为Windows-1252,但此表中列出了其他几种编码覆盖。正如规范所指出的那样,“根据上表将某些编码视为其他编码的要求是故意违反W3C字符模型规范。”
醇>
但最重要的是:
您应始终在每个 HTML文档上指定字符编码,否则会发生错误。您可以通过艰难的方式(HTTP Content-Type标头),简单的方式(
<meta http-equiv>
声明)或新的方式(<meta charset>
属性)来完成,但请执行此操作。网络谢谢你。
<强>来源:强>