在寫爬蟲程序(web頁面)的時候,經常需要去解析頁面的內容,而在解析前就必須要知道該頁面是用何種字符集來編碼的,這樣才能有效的避免亂碼的問題。
那么如何才能得知目的頁面的編碼呢?讓我們來看看來自“W3C”的官方解釋:
- An HTTP "charset" parameter in a "Content-Type" field
- A META declaration with "http-equiv" set to "Content-Type" and a value set for "charset"
- The charset attribute set on an element that designates an external resource
上述描述中表現了檢測頁面編碼的優先級,也就是說首先會看http頭信息中的“Content-Type”字段、如果沒有,就去看Meta信息,還沒有的話,對于一些外鏈(如css、JavaScript)就會看這種元素專門的charset字段。如果檢查完上述三種方式之后還是無法確定呢?那就采用默認的ISO-8859-1字符集來解析。
順便提一句,既然是W3C的標準,那就說明標準瀏覽器都是這么工作的哦!