json是現在被廣泛使用的用於傳遞字串的格式,相比xml更顯得簡單易懂以及更方便操作,php下就倆個函式,json_encode() and json_deconde()。不過json對中文的支援並不是很好,如果使用json_encode()處理如陣列,陣列中若存在中文,則會作空白處理。解決中文的一種方法就是先將中文轉換為另一種編碼格式,然後再使用json_encode(),最後再用解碼把json串進行解碼。還有一種方式就在php新版本中得到了解決,在下面的**為展示。
<?php
header("content-type:text/html;charset=utf-8");
$arrayname = array('city' => '廣東','goods'=>'cookies' );
$arr = json_encode($arrayname);
echo
$arr."
"; var_dump(json_decode($arr));
echo"";
echo urldecode(json_encode(ch_json($arrayname)))."
";/*
需要php版本在5.4以上
echo json_encode($arrayname,json_unescaped_unicode);
*/function
ch_json
($arr)
}else
return
$arr;
}?>
**已上傳: 解決json中文問題
ajax返回的資料是json格式的,解決資料中的中文不顯示或亂碼問題。ajax頁面採用的是gb2312,在頁面用json encode 處理php陣列,陣列中有些key的value是中文。如果直接返回,js端獲得的可能是空或亂碼。所以要對中文的字串進行處理。用urlencode 對中文字串進行轉碼 ...
PHP中json中文亂碼問題解決
問題 眾所周知使用json encode可以方便快捷地將物件進行json編碼,但是如果物件的屬性中存在著中文,問題也就隨之而來了。json encode會將中文轉換為unicode編碼,例如 我 經過json encode處理後變為 u6211 最終的json中中文部分被替換為unicode編碼。我...
php陣列轉json中文亂碼解決辦法
為陣列裡的每個元素進行urlencode 轉碼 後再用json encode 轉為json即可,解碼使用json decode 示例 foreach result as keys value 包含中文的二維陣列 result轉json,陣列內部元素一一使用urlencode轉換即可保證中文不亂碼 v...