php解决接口使用json_encode返回数组时,中文变成了unicode编码(出现乱码)问题
前言在项目开发过程中,经常需要对数组数据进行 json_encode() 操作,但是却发现对应的json数据中本来是中文字符串的数据变为了 Unicode 字符串。1、先来看一下原代码和遇到的问题原代码:if($flag){$result = array('code'=>1,'msg'=>"发送成功");}else{$result = array('code...
·
前言
在项目开发过程中,经常需要对数组数据进行 json_encode() 操作,但是却发现对应的json数据中本来是中文字符串的数据变为了 Unicode 字符串。
1、先来看一下原代码和遇到的问题
原代码:
if($flag){
$result = array('code'=>1,'msg'=>"发送成功");
}else{
$result = array('code'=>0,'msg'=>"发送失败");
}
echo json_encode($result);
exit;
问题如下:

2、解决方法
在 PHP5.4 版本以后,官方更新了 json_encode() 的特性:若希望经过json_encode()处理后的中文字符串不变为乱码,可以设置函数的第二个参数为:JSON_UNESCAPED_UNICODE
echo json_encode($arrData, JSON_UNESCAPED_UNICODE);
新代码:
if($flag){
$result = array('code'=>1,'msg'=>"发送成功");
}else{
$result = array('code'=>0,'msg'=>"发送失败");
}
header('Content-Type:application/json; charset=utf-8');
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
效果如下:

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)