解决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 相关文章推荐
初探PHP5
Oct 09 PHP
从网上搜到的phpwind 0day的代码
Dec 07 PHP
php自动注册登录验证机制实现代码
Dec 20 PHP
php _autoload自动加载类与机制分析
Feb 10 PHP
基于curl数据采集之正则处理函数get_matches的使用
Apr 28 PHP
PHP中source #N问题的解决方法
Jan 27 PHP
php命名空间学习详解
Feb 27 PHP
ThinkPHP CURD方法之field方法详解
Jun 18 PHP
详解WordPress中给链接添加查询字符串的方法
Dec 18 PHP
yii2.0实现验证用户名与邮箱功能
Dec 22 PHP
Thinkphp5框架简单实现钩子(Hook)行为的方法示例
Sep 03 PHP
laravel框架实现后台登录、退出功能示例
Oct 31 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
使用sockets:从新闻组中获取文章(三)
2006/10/09 PHP
ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单
2014/05/15 PHP
PHP实现过滤掉非汉字字符只保留中文字符
2015/06/04 PHP
浅谈PHP中关于foreach使用引用变量的坑
2016/11/14 PHP
yii2.0框架实现上传excel文件后导入到数据库的方法示例
2020/04/13 PHP
一个javascript参数的小问题
2008/03/02 Javascript
jQuery EasyUI API 中文文档 - MenuButton菜单按钮使用介绍
2011/10/06 Javascript
js创建数据共享接口——简化框架之间相互传值
2011/10/23 Javascript
输入自动提示搜索提示功能的使用说明:sugggestion.txt
2013/09/02 Javascript
JS两种定义方式的区别、内部原理
2013/11/21 Javascript
js实现连个数字相加而不是拼接的方法
2014/02/23 Javascript
浅析JS操作DOM的一些常用方法
2016/05/13 Javascript
jquery操作checkbox火狐下第二次无法勾选的解决方法
2016/10/10 Javascript
关于Vue的路由权限管理的示例代码
2018/03/06 Javascript
js实现的在本地预览图片功能示例
2019/11/09 Javascript
ES6 Object.assign()的用法及其使用
2020/01/18 Javascript
如何通过vscode运行调试javascript代码
2020/07/24 Javascript
python 简易计算器程序,代码就几行
2009/08/29 Python
Python实现简单的多任务mysql转xml的方法
2017/02/08 Python
django实现用户登陆功能详解
2017/12/11 Python
python调用百度语音识别实现大音频文件语音识别功能
2018/08/30 Python
pandas pivot_table() 按日期分多列数据的方法
2018/11/16 Python
Python利用全连接神经网络求解MNIST问题详解
2020/01/14 Python
python线程里哪种模块比较适合
2020/08/02 Python
python 求两个向量的顺时针夹角操作
2021/03/04 Python
沪江旗下的海量优质课程平台:沪江网校
2017/11/07 全球购物
Wolford法国官网:奥地利奢侈内衣品牌
2020/08/11 全球购物
人力资源管理专业自荐书范文
2014/02/10 职场文书
《十六年前的回忆》教学反思
2014/02/14 职场文书
促销活动计划书
2014/05/02 职场文书
党员剖析材料范文
2014/09/30 职场文书
酒店财务经理岗位职责
2015/04/08 职场文书
商场营业员岗位职责
2015/04/14 职场文书
不同意离婚上诉状
2015/05/23 职场文书
2019毕业典礼主持词!
2019/07/05 职场文书
用Python将库打包发布到pypi
2021/04/13 Python