使用 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);