在PHP中使用json_encode时出现中文乱码如何解决

  介绍

这期内容当中小编将会给大家带来有关在PHP中使用json_encode时出现中文乱码如何解决,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

PHP有什么用

PHP是一个嵌套的缩写名称,是英文超级文本预处理语言,它的语法混合了C、Java、Perl以及PHP自创新的语法,主要用来做网站开发,许多小型网站都用PHP开发,因为PHP是开源的,从而使PHP经得久不衰。

<强> Step1

保证在使用JSON处理的时候字符是以UTF8编码的。具体我们可以把数据库编码和页面编码都改为UTF8。当然喜欢用gbk编码的话,可以在进行JSON处理前,把字符转为UTF8形式。在PHP中有如下方法:

& lt; PHP ?   ,,,,$ data=https://www.yisu.com/zixun/JSON中“文”;   $ newData=iconv (GB2312”、“utf - 8”//忽略,元数据);   echo $ newData;//忽略的意思是忽略转换时的错误,如果没有忽略参数,所有该字符后面的字符都不会被保存。//或是(GB2312”、“utf - 8”,元数据);   ?>

<强>步骤2

,后台PHP页面(页面编码为utf - 8或者已经把字符转为utf - 8)使用json_encode将PHP中数的数组组转为JSON字符串,例如:

& lt; PHP ?   ,,,$ testJSON=数组(& # 39;名字# 39;=祝辞& # 39;中文字符串& # 39;,& # 39;价值# 39;=祝辞& # 39;测试# 39;);   ,,,echo  json_encode ($ testJSON);   ?在

查看输出结果为:

{“名称”:“\ u4e2d \ u6587 \ u5b57 \ u7b26 \ u4e32”、“价值”:“测试”}

可见即使用UTF8编码的字符,使用json_encode也出现了中文乱码。解决办法是在使用json_encode之前把字符用函数urlencode()处理一下,然后再json_encode,输出结果的时候在用函数urldecode()转回来。具体如下:

& lt; php ?   ,,,$ testJSON=数组(& # 39;名字# 39;=祝辞& # 39;中文字符串& # 39;,& # 39;价值# 39;=祝辞& # 39;测试# 39;);   ,,,//echo  json_encode ($ testJSON);   ,,,foreach  (, testJSON 美元;as  key 美元;=祝辞,value 美元),{   testJSON美元(美元关键),=,urlencode  (, value 美元;);   ,,,}   ,,,echo  urldecode  (, json_encode  (, testJSON 美元),);   祝辞;

查看输出结果为:

{“名称”:“中文字符串”,“价值”:“测试”}

在PHP中使用json_encode时出现中文乱码如何解决