解决PHP中json_encode自动编码中文的问题

第一种:

PHP版本高于5.4时,可以使用官方提供的方法,在括号内加一个参数JSON_UNESCAPED_UNICODE

$data = json_encode($msg,JSON_UNESCAPED_UNICODE);

第二种:

所有版本可用方法,具体解决方法就是先将中文编码成url编码,使用json数据时解码url编码

$data=array('test1' => urlencode("测试1"),'test2' => urlencode("测试2"));
    
//数组转为json格式,然后再将数据解码,就可以避开json_encode自动Unicode编码中文问题
$raw_json_data = urldecode(json_encode($data));

echo $raw_json_data;  //{"test1":"测试1","test2":"测试2"}

你可能感兴趣的:(json,php,开发语言,ajax)