java shell nginx wordpress Firefox 程序员 Windows Ubuntu HTML5 php google 开源 centos linux Android linux命令 apache Python 微软 mysql

json_encode中文乱码解决方法

JSON对于客户端的字符都是以UTF8的形式进行处理的,也就是说,使用JSON作为提交和接收的数据格式时字符都采用UTF8编码处理,当我们的页面编码和数据库编码不是采用UTF8的时候,就极容易出现中文乱码的问题。解决办法是在用PHP处理JSON数据时采用UTF8的形式。

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

json_encode1

查看输出结果为:

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

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

json_encode2

查看输出结果为:

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

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

延伸阅读

  • 抱歉,暂无相关内容!

评论