我真的需要知道在Web浏览器(HTML5)中处理编码指示的优先级。请与消息来源联系。
我不知道BOM的数量(第二个[https://blog.whatwg.org/the-road-to-html-5-character-encoding],某个地方[How HTML meta charset works)。我不知道浏览器何时根据用户设置检测到何时使用启发式方法。
来源:http://www.w3.org/TR/html401/charset.html#h-5.2.2,http://www.w3.org/TR/html5-diff/#character-encoding,http://www.w3.org/TR/html5/document-metadata.html#charset
Big thx。
答案 0 :(得分:1)
BOM应该在HTTP标头之前。 [1] [2]
许多官方documents that say HTTP标头位于BOM之前。 Apparently,我们要忽略它们并颠倒顺序,使后者具有更高的优先权。
<强>因此:强>
Content-Type:
<meta>
/ @charset
for css charset
和<iframe>
元素的<link>
属性,父文档的编码等)和/或启发式我不确定(还没有真正研究过)4.
内的优先顺序。此外, [1] 将&#34;用户设置&#34;在BOM之前。
[1] 注意:此步骤发生在下一个尊重HTTP Content-Type标头之前,是故意违反HTTP规范,其动机是希望最大限度地兼容遗留内容。 - https://www.w3.org/TR/html5/syntax.html#determining-the-character-encoding
[2] 注意:解码算法优先使用字节顺序标记(BOM),并且仅在找不到时才使用回退。 - {{ 3}}