做東西的時候突然遇到字元變魔術cp936的編碼,當時蒙了,最後通過查手冊和資料知道cp936就是指系統裡第936号編碼格式,也就是GB2312。
擷取網頁的字元編碼可以使用mb_detect_encoding函數,他是是一款可以檢測你使用的字元串是什麼編碼,然後傳回字元串編碼字元,下面是一個簡單應用執行個體。
public function charset($url)
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL,$url);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_MAXREDIRS, 10);
$contents = curl_exec($curl);
$response = curl_getinfo($curl);
curl_close($curl);
$encode = mb_detect_encoding($contents,array("utf-8","gb2312","gbk"));
return $encode;
}