解决ajax+php中文乱码的方法详解

 更新时间:2013年06月09日 16:10:04   作者:  
本篇文章是对ajax+php中文乱码的方法进行了详细的分析介绍,需要的朋友参考下
中文如果用表单提交的话,不会出现乱码,而用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 empty()与isset()区别的详细介绍

    php empty()与isset()区别的详细介绍

    本篇文章是对php中empty()与isset()的区别进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • 解析左右值无限分类的实现算法

    解析左右值无限分类的实现算法

    本篇文章是对php左右值无限分类的实现算法进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • php使用curl详细解析及问题汇总

    php使用curl详细解析及问题汇总

    CURL是一个非常强大的开源库,支持很多协议,包括HTTP、FTP、TELNET等,我们使用它来发送HTTP请求。它给我 们带来的好处是可以通过灵活的选项设置不同的HTTP协议参数,并且支持HTTPS。CURL可以根据URL前缀是“HTTP” 还是“HTTPS”自动选择是否加密发送内容。
    2016-08-08
  • 总结PHP中数值计算的注意事项

    总结PHP中数值计算的注意事项

    本文将对PHP中数据计算的一些犯错的点进行整理,并给出解决方法,其中包括四舍五入、整数和小数相乘除和浮点数的怪异,有需要的朋友们可以参考借鉴。
    2016-08-08
  • PHP解决输出中文乱码问题讲解

    PHP解决输出中文乱码问题讲解

    这篇文章主要介绍了PHP解决输出中文乱码问题讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • mysql_escape_string()函数用法分析

    mysql_escape_string()函数用法分析

    这篇文章主要介绍了mysql_escape_string()函数用法,结合实例形式讲述了mysql_escape_string()函数的功能,并分析了mysql_escape_string的使用技巧与注意事项,需要的朋友可以参考下
    2016-04-04
  • php中的MVC模式运用技巧

    php中的MVC模式运用技巧

    php中的MVC模式运用技巧...
    2007-05-05
  • 功能强大的PHP发邮件类

    功能强大的PHP发邮件类

    这篇文章主要为大家详细介绍了功能强大的PHP发邮件类,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • PHP过滤黑名单关键字的方法

    PHP过滤黑名单关键字的方法

    这篇文章主要介绍了PHP过滤黑名单关键字的方法,通过保存过滤关键字到txt文件,再读取txt文件内容进行正则匹配替换来实现过滤功能,需要的朋友可以参考下
    2014-12-12
  • php用数组返回无限分类的列表数据的代码

    php用数组返回无限分类的列表数据的代码

    php自定义函数之用数组返回无限分类的列表数据,这样的实现可以提高执行的效率不要每次都从数据库读取数据。
    2010-08-08

最新评论