解决ajax+php中文乱码的方法详解


Posted in PHP onJune 09, 2013

中文如果用表单提交的话,不会出现乱码,而用ajax提交就会出现乱码,这是什么原因呢?

我的理解是,我在写源码的时候,一般用记事本写,保存的时候默认用ANSI编码,源码中也没有用“<meta http-equiv=Content-Type content=text/html;charset=UTF-8>”或“header('Content-Type:text/html;charset=UTF-8');”指定网页编码,于是在浏览器中显示时它的编码被认定为“GB2312”。当前台向后台传递数据的时候,用表单提交的话,前后台之间用“GB2312”编码交流,不会出现乱码;而用ajax提交的话,ajax在前台把要发送的数据编码从“GB2312”转换 成“UTF-8”后再传给后台,然后再把接收到的后台返回的数据当成是 “UTF-8”而把它转换 成“GB2312”后显示在前台页面上,这样乱码就产生了。
如图:
解决ajax+php中文乱码的方法详解

所以要解决乱码,要在后台进行数据编码转换,后台接收到的数据用PHP的mb_convert_encoding("要转换的数据","gb2312","UTF-8")进行转换后存储到数据库。而后台返回到前台的中文数据也要用mb_convert_encoding("要返回的数据","UTF-8","gb2312")转换后返回。

PHP 相关文章推荐
模仿OSO的论坛(四)
Oct 09 PHP
PHP 中检查或过滤IP地址的实现代码
Nov 27 PHP
PHP 正则表达式小结
Feb 12 PHP
使用XHGui来测试PHP性能的教程
Jul 03 PHP
php面向对象编程self和static的区别
May 08 PHP
PHP查询附近的人及其距离的实现方法
May 11 PHP
php制作圆形用户头像的实例_自定义封装类源代码
Sep 18 PHP
php表单习惯用的正则表达式
Oct 11 PHP
php删除一个路径下的所有文件夹和文件的方法
Feb 07 PHP
tp5框架使用composer实现日志记录功能示例
Jan 10 PHP
PHP实现的AES 128位加密算法示例
Sep 16 PHP
Laravel开启跨域请求的方法
Oct 13 PHP
PHP写的加密函数,支持私人密钥(详细介绍)
Jun 09 #PHP
PHP版 汉字转码的实现详解
Jun 09 #PHP
php批量上传的实现代码
Jun 09 #PHP
PHP转换IP地址到真实地址的方法详解
Jun 09 #PHP
linux环境apache多端口配置虚拟主机的方法深入介绍
Jun 09 #PHP
探讨PHP删除文件夹的三种方法
Jun 09 #PHP
如何用php获取文件名后缀
Jun 09 #PHP
You might like
PHP3 safe_mode 失效漏洞
2006/10/09 PHP
php strlen mb_strlen计算中英文混排字符串长度
2009/07/10 PHP
php中使用gd库实现下载网页中所有图片
2015/05/12 PHP
详谈php静态方法及普通方法的区别
2016/10/04 PHP
JS动画效果代码3
2008/04/03 Javascript
FormValidate 表单验证功能代码更新并提供下载
2008/08/23 Javascript
js中的屏蔽的使用示例
2013/07/30 Javascript
jQuery子元素过滤选择器用法示例
2016/09/09 Javascript
微信小程序 石头剪刀布实例代码
2017/01/04 Javascript
javascript图片预览和上传(兼容IE)
2017/03/15 Javascript
js实现关闭网页出现是否离开提示
2017/12/07 Javascript
浅谈VUE监听窗口变化事件的问题
2018/02/24 Javascript
Vue2.0 实现歌手列表滚动及右侧快速入口功能
2018/08/08 Javascript
Bootstrap 模态框自定义点击和关闭事件详解
2018/08/10 Javascript
100行代码实现vue表单校验功能(小白自编)
2019/11/19 Javascript
浅谈JavaScript中等号、双等号、 三等号的区别
2020/08/06 Javascript
[04:49]2014DOTA2国际邀请赛 Newbee顺利挺进总决赛 ImbaTV独家专访
2014/07/19 DOTA
python flask 多对多表查询功能
2017/06/25 Python
Python工厂函数用法实例分析
2018/05/14 Python
Python2及Python3如何实现兼容切换
2020/09/01 Python
Python如何执行系统命令
2020/09/23 Python
html5 Canvas画图教程(7)—canvas里画曲线之quadraticCurveTo方法
2013/01/09 HTML / CSS
网络、C以及其他硬件方面的面试题
2016/08/23 面试题
大学生毕业自我鉴定范文
2013/09/19 职场文书
企业行政文员岗位职责
2013/12/03 职场文书
求职自荐书范文
2013/12/04 职场文书
前台文员岗位职责
2013/12/28 职场文书
体现团队精神的口号
2014/06/06 职场文书
人力资源管理毕业生自荐信
2014/06/26 职场文书
欢迎领导检查标语
2014/06/27 职场文书
业务员辞职信范文
2015/03/02 职场文书
感恩教师节主题班会
2015/08/12 职场文书
小学感恩主题班会
2015/08/12 职场文书
七年级语文教学反思
2016/03/03 职场文书
晚会开幕词范文
2016/03/04 职场文书
python百行代码实现汉服圈图片爬取
2021/11/23 Python