首页 > 代码库 > PHP中json序列化后中文的编码显示问题
PHP中json序列化后中文的编码显示问题
在接口返回数据中,我们经常会返回json或者xml格式,php的json序列化函数json_encode非常好用,但是默认会把中文编码为ASCII码(注意,很多人认为这是乱码,其实不是),尤其在调试接口时,看到一大串的ASCII码,一脸懵逼,不知是对是错:
代码:
<?phpclass A{ public $num; public $name; function __construct($_num,$_name) { $this->num=$_num; $this->name=$_name; }}$class=new A(‘A001‘,‘张三‘);//json_encode序列化 $json=json_encode($class);echo $json;
结果:
是不是看着很不爽,
解决办法也很简单,网上找的,PHP5.4版本,已经给Json新增了一个选项: JSON_UNESCAPED_UNICODE。加上这个选项后,就不会自动把中文编码了。
试一下:
class A{ public $num; public $name; function __construct($_num,$_name) { $this->num=$_num; $this->name=$_name; }}$class=new A(‘A001‘,‘张三‘);//json_encode序列化 $json=json_encode($class,JSON_UNESCAPED_UNICODE);//加上JSON_UNESCAPED_UNICODEecho $json;
结果:
PHP中json序列化后中文的编码显示问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。