方法有兩種
1:php版本大於等於5.4,在使用json_encode的時候加入第二個引數JSON_UNESCAPED_UNICODE:如
//這樣使用中文可不會被轉義$jsonStr = json_encode($data,JSON_UNESCAPED_UNICODE);
2:如果php版本小於5.4,可以使用這種方法,對unicode碼再進行解碼,解碼函式如下:
/** * 因php版本小於 5.4 * decodeUnicode 對中文編碼unicode進行反轉義為漢字 * @param $str json字串 * @return 轉義後的json字串 */ function decodeUnicode($str) { return preg_replace_callback("/\\\\u([0-9a-f]{4})/i", create_function( "$matches", "return mb_convert_encoding(pack("H*", $matches[1]), "UTF-8", "UCS-2BE");" ), $str); } //使用方法 $jsonStr = decodeUnicode(json_encode($data)); //或者單獨封裝一個函式 function _json_encode($data=array()){ return decodeUnicode(json_encode($data)); }
方法有兩種
1:php版本大於等於5.4,在使用json_encode的時候加入第二個引數JSON_UNESCAPED_UNICODE:如
//這樣使用中文可不會被轉義$jsonStr = json_encode($data,JSON_UNESCAPED_UNICODE);
2:如果php版本小於5.4,可以使用這種方法,對unicode碼再進行解碼,解碼函式如下:
/** * 因php版本小於 5.4 * decodeUnicode 對中文編碼unicode進行反轉義為漢字 * @param $str json字串 * @return 轉義後的json字串 */ function decodeUnicode($str) { return preg_replace_callback("/\\\\u([0-9a-f]{4})/i", create_function( "$matches", "return mb_convert_encoding(pack("H*", $matches[1]), "UTF-8", "UCS-2BE");" ), $str); } //使用方法 $jsonStr = decodeUnicode(json_encode($data)); //或者單獨封裝一個函式 function _json_encode($data=array()){ return decodeUnicode(json_encode($data)); }