天天看點

php 預設字元cp936,字元編碼cp936

做東西的時候突然遇到字元變魔術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;

}