一个人一生可以爱上很多的人,等你获得真正属于你的幸福之后,你就会明白一起的伤痛其实是一种财富,它让你学会更好地去把握和珍惜你爱的人。

使用ajax中文乱码问题解决办法

技术文档 4890浏览 0评论

PHP中使用ajax中文乱码问题解决办法
当网页是utf-8编码的时候,使用ajax一般不会出现中文乱码的情况。但当网页编码为gb2313的时候,则会出现中文乱码的现象。这是由于XMLHttpRequest传送数据是UTF-8编码的,所以,可能会导致中文乱码问题。我的解决方法是,全部采用UTF-8编码。

静态部分用<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />申明下是utf-8编码的。另外注意不要使用windows自带的记事本编辑,不能保存为utf-8格式的。
动态部分用
header('Content-type:text/html;charset=utf-8');
另外使用responseXML方法的话,动态部分要用
header('Content-type:text/xml;charset=utf-8');

另外有时可能需要使用函数iconv('GB2312', 'utf-8',$str)来强制将gb2312编码转换成utf-8.

PHP发送中文、Ajax接收,只需在php顶部加入一句:
header('Content-type: text/html;charset=GB2312'); xmlHttp会正确解析其中的中文。

Ajax发送中文、PHP接收,这个则比较复杂:
Ajax中先用encodeURIComponent对要提交的中文进行编码
PHP中则要使用iconv函数:
$GB2312string=iconv( 'UTF-8','gb2312//IGNORE' , $RequestAjaxString);//注意红色部分!!!

PHP写入MySQL数据库,在建立conn时,query一下set names "gb2312"

转载请注明:自由的风 » 使用ajax中文乱码问题解决办法

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址