使用 php 自带的 json_encode 函数对json数据进行编码时,中文都会变成 unicode,可读性差,比如:

{"result":"1","data":"\u8bf7\u8f93\u5165\u5206\u7c7b\u540d\u79f0"}

不经过json格式转换,很难知道什么意思,本文介绍了两种中文不编码成unicode的方法:

1. 先把中文字段 urlencode,json_encode 后,再用 urldecode,如下:

$data = array('result'=>1,'data'=>'请输入分类名称');
echo urldecode(json_encode(urlencode($data)));

2.如果使用的PHP版本是5.4以上的

json_encode 函数已经新增了一个选项: JSON_UNESCAPED_UNICODE。

加上这个选项后,就不会自动把中文编码了。

$data = array('result'=>1,'data'=>'请输入分类名称');
echo json_encode($data, JSON_UNESCAPED_UNICODE);