用PHP的json_encode来处理中文的时候, 中文都会被编码, 变成不可读的, 类似”/u***”的格式,如果想汉字不进行转码,要先升级PHP,在PHP5.4,版本下,可使用Json新增了一个选项: JSON_UNESCAPED_UNICODE, 故名思议, 就是说, Json不要编码Unicode.
用PHP的json_encode来处理中文的时候, 中文都会被编码, 变成不可读的, 类似”u***”的格式,如果想汉字不进行转码,要先升级PHP,在PHP版本>=5.4可使用Json新增了一个选项: JSON_UNESCAPED_UNICODE, 故名思议, 就是说, Json不要编码Unicode.
echo json_encode("中文", JSON_UNESCAPED_UNICODE);
如果你的PHP版本没有达到5.4版本,那么可以这样做。
1、先检查你的PHP版本,这个你得知道,代码如下:
echo PHP_VERSION;或者你懒或者不懂,直接使用下面的兼容函数做处理即可
function sJson_encode($array){ if(version_compare(PHP_VERSION,'5.4.0','<')){ $str = json_encode($array); $str = preg_replace_callback("#u([0-9a-f]{4})#i",function($matchs){ return iconv('UCS-2BE', 'UTF-8', pack('H4', $matchs[1])); },$str); return $str; }else{ return json_encode($array, JSON_UNESCAPED_UNICODE); }}
使用方法
<?=sJson_encode('你的数组数据')?>