JSON遇到中文亂碼問題的解決方法

2021-06-28 15:17:32 字數 577 閱讀 5525

php5.2或以上的版本把json_encode作為內建函式來用,但是我們必須注意到json_encode只支援utf8編碼的字元,

否則,中文亂碼或者空值就出現了。

解決方法:

1、把所有的中文轉為utf-8編碼(本身是utf8的話無須轉)

$data="json中文";  

$newdata=iconv("gb2312","utf-8//ignore",$data); 

2、把中文的urlencode一下

$testjson=array('name'=>'中文字串','value'=>'test');  

//echo json_encode($testjson);  

foreach ( $testjson as $key => $value )  

3、然後json_encode之後再urldecode一下轉回來

$test_json_str = json_encode ($testjson )

echo urldecode ($test_json_str);

檢視輸出結果為:

這樣可以很好的解決中文json亂碼問題。

解決Json傳輸中文亂碼問題

1 如果是通過url傳遞 需要編碼兩次 var searchtext this.searchtext searchtext encodeuri searchtext searchtext encodeuri searchtext ajax 後台通過 string querycon request.g...

解決 json 亂碼問題

用上面的 可以解決在儲存json生成的字串為亂碼的問題 附 php pack 函式說明 壓縮資料到位字串之中。語法 string pack string format,mixed args 返回值 字串 二進位制 函式種類 資料處理 內容說明 本函式用來將資料壓縮打包到位的字串之中。本函式和 per...

解決json中文問題

ajax返回的資料是json格式的,解決資料中的中文不顯示或亂碼問題。ajax頁面採用的是gb2312,在頁面用json encode 處理php陣列,陣列中有些key的value是中文。如果直接返回,js端獲得的可能是空或亂碼。所以要對中文的字串進行處理。用urlencode 對中文字串進行轉碼 ...