如何判断页面的编码?

96
作者 goddyzhao
2015.07.25 10:36 字数 272

在写爬虫程序(web页面)的时候,经常需要去解析页面的内容,而在解析前就必须要知道该页面是用何种字符集来编码的,这样才能有效的避免乱码的问题。

那么如何才能得知目的页面的编码呢?让我们来看看来自“W3C”的官方解释:

  1. An HTTP "charset" parameter in a "Content-Type" field
  2. A META declaration with "http-equiv" set to "Content-Type" and a value set for "charset"
  3. The charset attribute set on an element that designates an external resource

上述描述中表现了检测页面编码的优先级,也就是说首先会看http头信息中的“Content-Type”字段、如果没有,就去看Meta信息,还没有的话,对于一些外链(如css、JavaScript)就会看这种元素专门的charset字段。如果检查完上述三种方式之后还是无法确定呢?那就采用默认的ISO-8859-1字符集来解析。

顺便提一句,既然是W3C的标准,那就说明标准浏览器都是这么工作的哦!

前端技术