jsonencode(jsonencode中文乱码解决办法)

$arr=array(‘Version_code’=>2,’Version_name’=>’UpdateVersion’,’Versoin_desc’=>’更新了地图功能’,’Versoin_path’=>’http://nnddkj.com/BusIot/APK/BusIot.apk’);

echojson_encode($arr);

如上代码,即为将字符串变量转化成json格局输出,但是输出结果如下:

{“Version_code”:2,”Version_name”:”UpdateVersion”,”Versoin_desc”:”\u66f4\u65b0\u4e86\u5730\u56fe\u529f\u80fd”,”Versoin_path”:”http:\/\/nnddkj.com\/BusIot\/APK\/BusIot.apk”}

即数组中一切中文在json_encode之后都不见了或者呈现\u2353等。

处理办法是用urlencode()函数处理以下,在json_encode之前,把一切数组内一切内容都用urlencode()处理一下,然用json_encode()转换成json字符串,最终再用urldecode()将编码过的中文转回来。

header(“Content-Type:text/html;charset=utf-8;”);

$arr=array(‘Version_code’=>2,’Version_name’=>’UpdateVersion’,’Versoin_desc’=>urlencode(‘更新了地图功能’),’Versoin_path’=>urlencode(‘http://nnddkj.com/BusIot/APK/BusIot.apk’));

echourldecode(json_encode($arr));

?>

输出结果:{“Version_code”:2,”Version_name”:”UpdateVersion”,”Versoin_desc”:”更新了地图功能”,”Versoin_path”:”http://nnddkj.com/BusIot/APK/BusIot.apk”}

搞定。。

附:json_decode对JSON格局的字符串进行编码,而json_encode对变量进行JSON编码

json_decode-对JSON格局的字符串进行编码

说明:

mixedjson_decode(string$json[,bool$assoc])

接受一个JSON格局的字符串并且把它转换为PHP变量,$assoc,当该参数为TRUE时,将返回array而非object

json_encode:详细问度娘

关于IntelliJ的IDEAPyCharm等更新2019.2后中文乱码的处理方案

关于IntelliJ的2019.2更新后的中文乱码处理方案设置备用字体file->Setting->Editor->Font因为编程常用英文首选字体font默许…

php中json_encodeUTF-8中文乱码问题

最近在接口代码当中用到过json_encode,在网上找到说json_encode编码设置为UTF-8中文就不会乱码,经验证这办法确实是有作用的,但是不知道为什么,代码在用过一段时间之后就不太管用了….

RStudio中,呈现中文乱码问题的处理方案

RStudio中,呈现中文乱码问题的处理方案处理步骤:1.设置RStudio文本显现的默许编码:RStudio菜单栏的Tools->GlobalOptions2.选择General-&g…

gitstatus显现中文和处理中文乱码

目录gitstatus显现中文和处理中文乱码处理gitstatus不能显现中文处理gitbash终端显现中文乱码经过修正配置文件来处理中文乱码gitstatus显现中文和处理中…
图片[1]-jsonencode(jsonencode中文乱码解决办法)-小白之家

RedHat装置Oracle后中文乱码

radhat7.1Oracle11gr2装置Oracle时忘记设置字符集,导致装置后中文乱码,中文变成”???????????”分析原因是Oracle服务器端和客户端的字符集…

mysql中Incorrectstringvalue乱码问题处理方案

mysql中Incorrectstringvalue乱码问题处理方案你是否遇到过类似以下错误?java.sql.SQLException:Incorrectstringvalue:…

关于jFinal开发中遇到的中文乱码问题处理办法

关于jFinal开发中遇到的中文乱码问题处理办法设置tomcat的编码,修正

RFID之UID

1Uniqueidentifier(UID)TheVICCsareuniquelyidentifiedbya64bitsuniqueidentifier(UID).Th…

L008-oldboy-mysql-dba-lesson08

L008-oldboy-mysql-dba-lesson08xtrabackup装置[root@web01installer]#wgethttps://www.percona.com/dow…

css制作简单下拉菜单

要点:定位,躲藏,显现.(一)先建一个两次列表

首页

第二页

JavaScript引证类型之Array数组之强壮的splice()办法

splice()办法可以说是Array数组最强壮的办法,他的用法很多,主要用法是向数组的中部刺进项!下面是它的用法:arrayObject.splice(index,howmany,element…

Ubuntu12.04中自定义DNS服务器设置

首先我们需要创立一个文件/etc/resolvconf/resolv.conf.d/tail:#vim/etc/resolvconf/resolv.conf.d/tail然后我们在这个文件里写入…,jsonencode中文乱码解决办法,JSON对于客户端的字符都是以UTF8的方式进行处理的,也就是说,使用JSON作为提交和接纳的数据格式时字符都选用UTF8编码处理,当咱们的页面编码和数据库编码不是选用UTF8的时分,就极简单呈现中文乱码的问题。解决办法是在用PHP处理JSON数据时选用UTF8的方式。

PHP页面使用json_encode将PHP中的array数组转为JSON字符串。例如:

查看输出结果为:

{“name”:”u4e2du6587u5b57u7b26u4e32″,”value”:”test”}

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

查看输出结果为:

{“name”:”中文字符串”,”value”:”test”}

成功输出了中文字符。这样子在PHP后台输出的JSON字符串在前台javascript中Ajax接纳后eval出来就不会呈现中文乱码了。

© 版权声明
THE END
喜欢就支持一下吧
点赞0赞赏 分享
评论 抢沙发

请登录后发表评论