首选HTML元标记或HTTP标头中的字符集声明?
我正在解析很多网站.一切正常,我正在读取转换编码的字符集声明.现在我遇到了
http://celleheute.de/sonntagsfuhrung-3/的问题.
HTML元标记说,内容编码为ISO-8859-2,但HTTP标头说,它是UTF-8.实际上,内容是UTF编码的,所以当我的解析器尝试将内容转换为ISO时,它会破坏一些字符. 现在我的问题是,我更喜欢哪种声明?我可以忽略元标记,当我可以在HTTP标头中找到声明,反之亦然?大多数网络浏览器会做什么? 解决方法
要了解现代浏览器的功能,您应该从
http://dev.w3.org/html5/spec/parsing.html#determining-the-character-encoding开始阅读
第一步和第二步与问题最相关.他们说
这意味着真正的HTTP标头优先于除用户覆盖之外的所有内容. 除此之外,它可能变得复杂.例如,字节顺序标记可以优先于元标记. 更新:由于编写了这个答案,规范发生了变化(大约在2012年中期),因此字节顺序标记现在优先于HTTP标头. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |