解决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也可以?成Shell Script
Oct 09 PHP
UCenter中的一个可逆加密函数authcode函数代码
Jul 20 PHP
PHP 简易输出CSV表格文件的方法详解
Jun 20 PHP
PHP和JavaScrip分别获取关联数组的键值示例代码
Sep 16 PHP
PHP内核探索:变量概述
Jan 30 PHP
php中adodbzip类实例
Dec 08 PHP
php创建多级目录的方法
Mar 24 PHP
PHP、Java des加密解密实例
Apr 27 PHP
浅谈PHP检查数组中是否存在某个值 in_array 函数
Jun 13 PHP
php中namespace及use用法分析
Dec 06 PHP
php实现获取农历(阴历)、节日、节气的类与用法示例
Nov 20 PHP
php创建多级目录与级联删除文件的方法示例
Sep 12 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多用户计数器代码
2007/03/11 PHP
优化PHP代码的53条建议
2008/03/27 PHP
无JS,完全php面向过程数据分页实现代码
2012/08/27 PHP
精美漂亮的php分页类代码
2013/04/02 PHP
解析PHP工厂模式的好处
2013/06/18 PHP
php数组排序usort、uksort与sort函数用法
2014/11/17 PHP
详解PHP中curl_multi并发的实现
2020/06/08 PHP
实现png图片和png背景透明(支持多浏览器)的方法
2009/09/08 Javascript
JavaScript DOM学习第一章 W3C DOM简介
2010/02/19 Javascript
jQuery实现鼠标经过提示信息的地图热点效果
2015/04/26 Javascript
基于jQuery+JSON的省市二三级联动效果
2015/06/05 Javascript
JS实现可点击展开与关闭的左侧广告代码
2015/09/02 Javascript
全屏滚动插件fullPage.js使用实例解析
2016/10/21 Javascript
Vue.js中数据绑定的语法教程
2017/06/02 Javascript
Vue实现百度下拉提示搜索功能
2017/06/21 Javascript
详解vue 模拟后台数据(加载本地json文件)调试
2017/08/25 Javascript
利用Javascript实现一套自定义事件机制
2017/12/14 Javascript
详解JavaScript的BUG和错误
2018/05/07 Javascript
纯JS实现出生日期[年月日]下拉菜单效果
2018/06/01 Javascript
node.js中TCP Socket多进程间的消息推送示例详解
2018/07/10 Javascript
手挽手带你学React之React-router4.x的使用
2019/02/14 Javascript
Python实现拼接多张图片的方法
2014/12/01 Python
matplotlib绘制符合论文要求的图片实例(必看篇)
2017/06/02 Python
python实现监控某个服务 服务崩溃即发送邮件报告
2018/06/21 Python
学python安装的软件总结
2019/10/12 Python
django中cookiecutter的使用教程
2020/12/03 Python
Html5之svg可缩放矢量图形_动力节点Java学院整理
2017/07/17 HTML / CSS
英国婴儿产品专家:Samuel Johnston
2020/04/20 全球购物
社区志愿者活动总结
2014/06/26 职场文书
教育系统干部作风整顿心得体会
2014/09/09 职场文书
积极心理学课程心得体会
2016/01/22 职场文书
成功的商业计划书这样写才最靠谱
2019/07/12 职场文书
《曾国藩家书》读后感——读家书,立家风
2019/08/21 职场文书
数据库的高级查询六:表连接查询:外连接(左外连接,右外连接,UNION关键字,连接中ON与WHERE的不同)
2021/04/05 MySQL
在python中实现导入一个需要传参的模块
2021/05/12 Python
铁头也玩根德 YachtBoy YB-230......
2022/04/05 无线电