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 對中文字串進行轉碼 ...