加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

首选HTML元标记或HTTP标头中的字符集声明?

发布时间:2020-12-14 18:52:09 所属栏目:资源 来源:网络整理
导读:我正在解析很多网站.一切正常,我正在读取转换编码的字符集声明.现在我遇到了 http://celleheute.de/sonntagsfuhrung-3/的问题. HTML元标记说,内容编码为ISO-8859-2,但HTTP标头说,它是UTF-8.实际上,内容是UTF编码的,所以当我的解析器尝试将内容转换为ISO时,它
我正在解析很多网站.一切正常,我正在读取转换编码的字符集声明.现在我遇到了 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开始阅读

第一步和第二步与问题最相关.他们说

  1. If the user has explicitly instructed the user agent to override
    the document’s character encoding with a specific encoding,optionally
    return that encoding with the confidence certain and abort these
    steps.

  2. If the transport layer specifies an encoding,and it is supported,
    return that encoding with the confidence certain,and abort these
    steps.

这意味着真正的HTTP标头优先于除用户覆盖之外的所有内容.

除此之外,它可能变得复杂.例如,字节顺序标记可以优先于元标记.

更新:由于编写了这个答案,规范发生了变化(大约在2012年中期),因此字节顺序标记现在优先于HTTP标头.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读