解决ajax+php中文乱码的方法详解
时间:2024-06-05 09:49:08
中文如果用表单提交的话,不会出现乱码,而用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”后显示在前台页面上,这样乱码就产生了。
如图:
所以要解决乱码,要在后台进行数据编码转换,后台接收到的数据用PHP的mb_convert_encoding("要转换的数据","gb2312","UTF-8")进行转换后存储到数据库。而后台返回到前台的中文数据也要用mb_convert_encoding("要返回的数据","UTF-8","gb2312")转换后返回。
标签:php,ajax,乱码
0
投稿
猜你喜欢
Linux系统(X64)安装Oracle11g完整安装图文教程另附基本操作
2023-07-07 08:25:36
python套接字流重定向实例汇总
2022-04-15 07:53:41
通过实例简单了解Python中yield的作用
2023-03-10 11:23:17
mysql 8.0.15 winx64压缩包安装配置方法图文教程
2024-01-23 03:00:13
js改变文章字体大小的实例代码
2024-04-19 10:03:21
将MySQL数据库移植为PostgreSQL
2024-01-21 22:20:09
mysql存储过程实例
2024-01-20 09:09:02
在python image 中安装中文字体的实现方法
2021-08-06 06:19:35
简单谈谈JS中的正则表达式
2023-07-22 00:50:22
Python 连接 MySQL 的几种方法
2024-01-16 21:51:09
django做form表单的数据验证过程详解
2023-11-10 12:26:13
vuex页面刷新数据丢失问题的四种解决方式
2024-04-09 10:58:50
理解 javascript 中的函数表达式与函数声明
2024-04-23 09:08:26
SQL的Join使用图解教程
2012-08-21 10:47:23
bootstrap table 服务器端分页例子分享
2024-04-29 13:12:15
Python机器学习之KNN近邻算法
2022-05-12 23:14:17
django之状态保持-使用redis存储session的例子
2023-07-29 20:14:07
SpringBoot图文并茂详解如何引入mybatis与连接Mysql数据库
2024-01-25 15:07:32
关于mysql基础知识的介绍
2024-01-18 10:57:28
python list.sort()根据多个关键字排序的方法实现
2021-05-22 03:16:09