PHP JSON中文乱码解决方法大全
为什么PHP与JSON交互时会出现中文乱码?
由于JSON与JS一样,对于客户端的字符是以UTF8的形式处理,即JSON提交或接受返回的字符是以UTF8形式处理,当与PHP交互时,如果数据库编码、PHP页面编码不采用UTF8格式时,PHP与JSON交互时中文就会产生乱码。
解决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 Ajax传值中文字符乱码解决教程。
至此,PHP JSON中文字符乱码的三种解决方法就介绍完了,其实在PHP开发中,遇到类似PHP与AJAX/JS进行交互,产生中文乱码时基本都是使用这些方法,思路是类似的。
注:PHP网站开发教程-leapsoul.cn版权所有,转载时请以链接形式注明原始出处及本声明,谢谢。
此外,在php中直接调用js方法传中文值时,ie会出现乱码,也可以用上述方法解决!
转载于:https://www.cnblogs.com/MRPUNK/archive/2011/09/16/3849321.html
PHP JSON中文乱码解决方法大全相关推荐
- php 5.2.17 中文乱码,php5.2 Json中文乱码解决方法
json_encode对中文的处理是有问题的, 1.不能处理GB编码,所有的GB编码都会替换成空字符. 2.utf8编码的中文被编码成unicode编码,相当于javascript的escape函数处 ...
- vs code中文乱码解决方法
修改 1.(安装方法) 2.显示终端输入数据输出结果(完美解决) 3.修改部分:中文乱码解决方法 第一步: 第二步: 1.(安装方法) 转载于: https:blog.csdn.net/qq_4304 ...
- Ubuntu10.04下gFtp2.0.19 远程客户端中文乱码解决方法
Ubuntu10.04下gFtp2.0.19 远程客户端中文乱码解决方法如下: 1.打开"gFTP-FTP-属性-常规-远程字符集": 2.将远程字符集设置为:gb2312,gbk ...
- python cmd 窗口 中文乱码 解决方法 (附:打印不同颜色)
python cmd 窗口 中文乱码 解决方法 (附:打印不同颜色) 参考文章: (1)python cmd 窗口 中文乱码 解决方法 (附:打印不同颜色) (2)https://www.cnblog ...
- Sublime Text 3中文乱码解决方法以及安装包管理器方法
Sublime Text 3中文乱码解决方法以及安装包管理器方法 参考文章: (1)Sublime Text 3中文乱码解决方法以及安装包管理器方法 (2)https://www.cnblogs.co ...
- axios请求GBK页面中文乱码解决方法
axios请求GBK页面中文乱码解决方法 参考文章: (1)axios请求GBK页面中文乱码解决方法 (2)https://www.cnblogs.com/bjhl/articles/10514038 ...
- charles抓包工具的中文乱码解决方法
charles抓包工具的中文乱码解决方法 参考文章: (1)charles抓包工具的中文乱码解决方法 (2)https://www.cnblogs.com/grimm/p/7494688.html 备 ...
- jquery的ajax()函数传值中文乱码解决方法介绍
jquery的ajax()函数传值中文乱码解决方法介绍 参考文章: (1)jquery的ajax()函数传值中文乱码解决方法介绍 (2)https://www.cnblogs.com/xuxiaosh ...
- python打包出现乱码_python解压zip包中文乱码解决方法
乱码得原因: 由于ZipFile模块导出遇到中文解码不对,windows上会出现,linux是否会出现不知道没测试过. 解决方式: 1. 搞个文件名引射表(不太方便,少量文件夹套用时候还可以) 2. ...
最新文章
- 一步步教你轻松学朴素贝叶斯模型算法理论篇1
- convert(varchar(10),字段名,转换格式)
- python源码学习_【Python学习】Python源码阅读(一)
- python 从字符串中提取数字 re.findall()
- python函数的传参要求_python中函数传参详解
- JavaEE Tutorials (17) - Java消息服务示例
- 假如你的老板掉水里了,你的岗位能做什么?
- 蜡染印花的跟踪印花与二次整纬
- 同步现象 心理学_男生是不是更容易从失恋中走出来?心理学:失恋后悲伤,男女不同...
- Spark编程Tips
- c语言指针试题嵌入式,嵌入式面试C语言试题「」(2)
- 降维系列之 LLE 局部线性嵌入
- 数据库E-R图——图书管理系统
- 九宫格日记 2017年12月19日(周二)
- 栈和队列的共同点和不同点
- 最小二乘法简解及空间直线拟合
- 为RemoteApp的登录用户(域用户)添加输入法的方法
- 《自控力》 第三章读书笔记
- 将 ChatGPT 引入你的飞书
- 高斯-约当(Gauss-Jordan)消元法
热门文章
- 爆米花现象_芯片爆米花现象以及解决办法
- AI学习笔记(十一)CNN之图像识别(上)
- 关于NLP相关技术全部在这里:预训练模型、信息抽取、文本生成、知识图谱、对话系统...
- python列表快速排序_python 实现快速排序
- glPushMatrix()和glPopMatrix()以及glLoadIdentity()的理解
- load()是python文件操作的函数_python深入(函数,文件操作)
- 2019年最新 Python 模拟登录知乎 支持验证码
- virtualbox安装增强功能时【未能加载虚拟光盘】
- android WebViewClient和WebChromeClient
- LAMP-----2、php-5.3.27编译安装