PHP下解決Json中文

2021-07-08 10:24:45 字數 823 閱讀 4362

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...