PHP解决json_encode中文变成unicode编码

PHP解决json_encode中文变成unicode编码,最近在开发接口方面的功能时,发现中文变成了unicode编码,解决方案有两种

最近在开发接口方面的功能时,发现中文变成了unicode编码,这个样子的

{"code":"1001","msg":"APPKEY\u4e3a\u7a7a\u6216\u4e0d\u5b58\u5728"}

我们需要把中文显示出来,解决方案有两种如下

1 利用 urlencode 和 urldecode 方法绕过这个转码为 unicode 的过程

header("Content-Type: text/html;charset=utf-8");
$arr = array ('lang'=>urlencode('我是中文'));
echo urldecode(json_encode($arr));

2、在PHP5.4以上json_encode新增了一个选项: JSON_UNESCAPED_UNICODE, 故名思议, 就是说, json_encode不要unicode编码

header("Content-Type: text/html;charset=utf-8");
$data = ['lang'=> '我是中文'];
echo json_encode($data,JSON_UNESCAPED_UNICODE);

原创文章,作者:ECHO陈文,如若转载,请注明出处:https://www.luweipai.cn/php/513849/