charset detection,meta vs header

时间:2014-05-29 10:31:15

标签: php html utf-8 character-encoding http-headers

我们最近在尝试确定用于页面的正确编码时遇到了一些麻烦。我们遇到了一个包含以下设置的页面:

标题回复:

Content-Type:text/html; charset=GBK

元标记:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

实际内容以GBK为单位,现代浏览器非常智能,可以为此页面使用正确的编码。

但是对于爬虫(使用curl),我们被迫决定选择一个字符集值而不是另一个。所以我的问题是:在meta charset上使用标题字符集是正常的事情

(我们尝试过的大多数基于内容的编码检测算法充其量只是摇摇欲坠,只要一个字符集比另一个字符集更可靠,我们更喜欢使用指定的字符集而不是我们自己的编码检测。)

1 个答案:

答案 0 :(得分:2)

  

将meta charset作为正常情况下的标题字符集?

是。请参阅the specification

在步骤4中检查HTTP标头。直到步骤5(如果它在文件中很快出现)或步骤9(否则),不检查Meta。