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汉字乱码怎么解决的详细内容。