php json汉字乱码怎么解决
php json汉字乱码的解决方法:1、保证数据库和前后台php页面编码一致;2、利用urlencode与decodeURL函数进行URL编码;3、利用字符串编码函数进行字符集之间的转换。
为什么PHP与JSON交互时会出现中文乱码?
(推荐教程:php视频教程)
由于JSON与JS一样,对于客户端的字符是以UTF8的形式处理,即JSON提交或接受返回的字符是以UTF8形式处理,当与PHP交互时,如果数据库编码、PHP页面编码不采用UTF8格式时,PHP与JSON交互时中文就会产生乱码。
解决方法:
在知道了PHP与JSON交互产生中文乱码的原因后解决的方法其实就简单很多。
解决PHP JSON中文乱码方法一:保证数据库、前后台PHP页面编码一致
最简答的解决PHP JSON中文乱码的方法就是保证数据库编码、PHP页面编码统一采用UTF8格式,对于PHP入门学习者来说建站时数据库最好使用UTF8格式,可减少不少麻烦。
解决PHP JSON中文乱码方法二:配置使用PHP函数urlencode与JS函数decodeURI()
当PHP使用JSON与前台JS交互时,在使用json_encode函数之前需要使用urlencode函数进行URL编码,在JS客户端通过JS函数decodeURI()进行URL解码后再读取中文信息。
注意:当在PHP页面中通过JSON进行交互,比如将数组转换成JSON格式时,首先请使用urlencode函数对数组key和value进行URL编码然后再使用json_encode函数和urldecode函数。
解决PHP JSON中文乱码方法三:使用字符串编码转换函数
当由于各种原因,数据库编码、PHP页面编码不一致时,比如现有的数据库编码使用GB2312,这时在使用JSON交互时,就需要使用字符串编码转换函数进行字符集之间的转换。常用的函数有iconv,由于iconv需要PHP配置环境支持,如果不支持,你可以通过自行编写gbk与UTF8编码转换函数实现编码转换。
至此,PHP JSON中文字符乱码的三种解决方法就介绍完了,其实在PHP开发中,遇到类似PHP与AJAX/JS进行交互,产生中文乱码时基本都是使用这些方法,思路是类似的。
相关推荐:php培训
以上就是php json汉字乱码怎么解决的详细内容,更多请关注其它相关文章!
上一篇: PHP中怎么替换换行符
推荐阅读
-
PHP与MySQL开发中页面乱码的产生与解决_PHP教程
-
php 连接mysql乱码解决方法_PHP教程
-
php可以自动读取数据库内容然后判断用户的注册时间,大于多久的自动发送一封邮件吗?该怎么解决
-
MySQL与PHP产生乱码的具体原因和解决办法介绍
-
PHP处理JSON字符串key缺少双引号的解决方法_PHP
-
如何在PHP下载文件名中解决乱码_PHP教程
-
mysql数据库中文乱码应该怎么解决,修改配置文件中的字符编码并没有作用
-
PHP substr 截取字符串出现乱码问题解决方法[utf8与gb2312]_PHP
-
PHP写的server端,怎么接收手机客户端传来的json数据
-
php基础,该怎么解决