解决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”后显示在前台页面上,这样乱码就产生了。
如图:
解决ajax+php中文乱码的方法详解

所以要解决乱码,要在后台进行数据编码转换,后台接收到的数据用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
  • asp之家 网络编程 m.aspxhome.com