解决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 相关文章推荐
使用PHP制作新闻系统的思路
Oct 09 PHP
使PHP自定义函数返回多个值
Nov 26 PHP
php 文件上传系统手记
Oct 26 PHP
PHP学习散记_编码(json_encode 中文不显示)
Nov 10 PHP
php开发文档 会员收费1期
Aug 14 PHP
PHP中常用的输出函数总结
Sep 22 PHP
php操作xml入门之xml标签的属性分析
Jan 23 PHP
刷新PHP缓冲区为你的站点加速
Oct 10 PHP
thinkPHP实现多字段模糊匹配查询的方法
Dec 01 PHP
CentOS 上搭建 PHP7 开发测试环境
Feb 26 PHP
源码分析 Laravel 重复执行同一个队列任务的原因
Dec 25 PHP
php png失真的原因及解决办法
Oct 24 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
PHP经典面试题之设计模式(经常遇到)
2015/10/15 PHP
YII框架中使用memcache的方法详解
2017/08/02 PHP
PHP页面静态化――纯静态与伪静态用法详解
2020/06/05 PHP
List the Codec Files on a Computer
2007/06/11 Javascript
uploadify在Firefox下丢失session问题的解决方法
2013/08/07 Javascript
js借助ActiveXObject实现创建文件
2013/09/29 Javascript
JS弹出层的显示与隐藏示例代码
2013/12/27 Javascript
jQuery的几个我们必须了解的特点
2015/05/03 Javascript
jquery attr()设置和获取属性值实例教程
2016/09/25 Javascript
vue拦截器Vue.http.interceptors.push使用详解
2017/04/22 Javascript
使用svg实现动态时钟效果
2018/07/17 Javascript
vue动画打包后失效问题的解决方法
2018/09/18 Javascript
使用JS获取页面上的所有标签
2018/10/18 Javascript
微信小程序外卖选购页实现切换分类与数量加减功能案例
2019/01/15 Javascript
图解NodeJS实现登录注册功能
2019/09/16 NodeJs
微信小程序录音实现功能并上传(使用node解析接收)
2020/02/26 Javascript
python使用循环实现批量创建文件夹示例
2014/03/25 Python
Python实现二分法算法实例
2015/02/02 Python
Windows下搭建python开发环境详细步骤
2020/07/20 Python
老生常谈Python基础之字符编码
2017/06/14 Python
基于python的字节编译详解
2017/09/20 Python
浅析Python装饰器以及装饰器模式
2018/05/28 Python
利用python画出折线图
2018/07/26 Python
python远程调用rpc模块xmlrpclib的方法
2019/01/11 Python
Python多线程处理实例详解【单进程/多进程】
2019/01/30 Python
Python装饰器限制函数运行时间超时则退出执行
2019/04/09 Python
Python实现串口通信(pyserial)过程解析
2019/09/25 Python
基于Python实现签到脚本过程解析
2019/10/25 Python
英国复古和经典球衣网站:Vintage Football Shirts
2018/10/05 全球购物
古驰英国官网:GUCCI英国
2020/03/07 全球购物
农行实习自我鉴定
2013/09/22 职场文书
倡议书格式
2014/08/30 职场文书
如何写贫困证明申请书
2014/10/29 职场文书
2014年仓管员工作总结
2014/11/18 职场文书
周一给客户的问候语
2015/11/10 职场文书
JavaScript 防篡改对象的用法示例
2021/04/24 Javascript