解決新浪抓取資料文字亂碼 php字元轉碼

2021-08-30 17:21:39 字數 1056 閱讀 1888

因為工作原因,時常用到抓取程式。

經過仔細對比,不是亂碼。

%u6df1%u5733%u7535%u89c6%u53f0%u300a%u6b63%u534830%u5206%u300b

其實是中文的

深圳電視台《正午30分》

在網上找了一堆相關的東西。發js的unescape剛好可以解決這個問題。一陣狂喜。

淡定之後,發現。不能使用。

因為我的程式中,要用php來處理入庫問題,不用能js來幫忙吧

網上搜尋了一番,發現還真有不少人遇到類似問題。

在網上搜尋如下函式

function unescape($str) )|.+/",$str,$r);

$ar = $r[0];

foreach($ar as $k=>$v)

return join("",$ar);

}

用了一下,感覺還行。

後來發現有點小問題,又換乙個函式

好像功能要強大一些

function unescape($str) |&#x.;|&#\d+;|&#\d+?|.+/u",$str,$r);

$ar = $r[0];

foreach($ar as $k=>$v)

}return join("",$ar);

}

感覺要好一些。

但是用了一段時間,發現在本地可以使用,但是我們的線上環境不能夠使用

找了半天,不知道是何原因。

對比一下,

其實就是線上是*nux,本地是xp了

還有,就是php版本不一樣了。

後來,又在手冊裡面發現有乙個類似的函式

而且還支援utf8,個人覺得應該通用性更好吧。

function utf8rawurldecode ($source) 

else

} else

}return $decodedstr;

}

呵呵,果然,這個函式。解決了線上問題。

記錄下來,以後好查詢哈。

php 抓取頁面亂碼

在抓取頁面的時候出現類似 這樣亂碼解決方法如下 1 轉換編碼 st r mb conv erte ncod ing str,utf 8 gbk 2 資料經過gzip壓縮 curl獲取資料的時候設定新增下面的選項 curl setopt ch,curlopt encoding,gzip 使用file ...

php輸出文字亂碼的解決方法

php輸出文字亂碼的解決辦法 程式設計客棧 在php檔案最開頭寫上 php簡介 php原始為personal home page的縮寫,已經正式更名為 php hypertext preprocessor 程式設計客棧。自20世紀90年代國內網際網路開始發展到現在,網際網路資訊幾乎覆蓋了我們日常活動...

PHP解決中文亂碼

在php中,中文亂碼非常頭疼,很麻煩,所以根據在程式設計的經驗,總結以下方法 以utf 8為例 1.php中在頭部header設定編碼方式 hea content type text html charset utf 8 2.php中用iconv轉碼 echo iconv gb2312 utf 8 ...