用php的json_encode來處理中文的時候, 中文都會被編碼, 變成不可讀的, 類似」\u***」的格式,如果想漢字不進行轉碼,這裡提供三種方法
1.公升級php,在php5.4, 這個問題終於得以解決, json新增了乙個選項: json_unescaped_unicode, 故名思議, 就是說, json不要編碼unicode.
<?php2.把漢字先urlencode然後再使用json_encode,json_encode之後再次使用urldecode來解碼,這樣編碼出來的json陣列中的漢字就不會出現unicode編碼了。echo json_encode("中文", json_unescaped_unicode);
//"中文"
$array = array(3.對unicode碼再進行解碼,解碼函式如下:'test'=>urlencode("我是測試")
);$array = json_encode($array);
echo urldecode($array);
//
function decodeunicode($str))/i',
create_function(
'$matches',
'return mb_convert_encoding(pack("h*", $matches[1]), "utf-8", "ucs-2be");'
),$str);
}4.例子
$arr = array('name1':"中文",'name2':'abc12');
$jsonstr = decodeunicode(json_encode($arr));
php 解決json encode中文問題
眾所周知使用json encode可以方便快捷地將物件進行json編碼,但是如果物件的屬性中存在著中文,問題也就隨之而來了。json encode會將中文轉換為unicode編碼 例如 胥 經過json encode處理後變為 u80e5 最終的json中中文部分被替換為unicode編碼。我們要解...
php中自帶函式 json encode
php場景中,需要將陣列轉為json字串,就需要用到php自帶的json encode函式 但是當陣列中含有中文字串時,轉出來的結果卻是以下結果 1 tmparr array 4 name 長褲 5 color blue 6 size xl 7 title 中年 長褲 8 910 tmpjson j...
PHP的json encode中文被轉碼的問題
在php5.2中做json encode的時候。中文會被unicode編碼,php5.3加入了options引數,5.4以後才加入json unescaped unicode,這個引數,不需要做escape和unicode處理。所以在5.4之前都需要對中文做個處理 5.4裡面的處理 php json...