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

本文介绍了两种在PHP中处理中文字符在json编码时出现Unicode编码问题的方法。第一种是使用PHP内置的json_encode函数,通过传递JSON_UNESCAPED_UNICODE参数避免Unicode编码。第二种方法是对中文字符进行URL编码,然后在json解码后再解码URL,从而避免中文乱码。这两种方法适用于不同PHP版本,确保了中文在json数据中的正确显示。
摘要由CSDN通过智能技术生成

第一种:

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"}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值