最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
ajax中文乱码解决方法总结
时间:2022-11-14 22:02:51 编辑:袖梨 来源:一聚教程网
ajax乱码解决办法一:
在服务器指定发送数据的格式:
在jsp文件中:
response.setContentType("text/text;charset=UTF-8");//返回的是txt文本文件
或是
response.setContentType("text/xml;charset=UTF-8");//返回的xml文件
PHP:header(”Content-Type:text/html;charset=GB2312”);
ajax乱码解决方法二:
PHP发送中文、Ajax接收
只需在php顶部加入一句:
header('Content-type: text/html;charset=GB2312');
xmlHttp会正确解析其中的中文。
Ajax发送中文、PHP接收
这个比较复杂:
Ajax中先用encodeURIComponent对要提交的中文进行编码
PHP中:
$GB2312string=iconv( 'UTF-8', 'gb2312//IGNORE' , $RequestAjaxString);
PHP写入MySQL数据库
建立conn时,query一下set names "gb2312"
==================================================
注意红色部分!!!否则无法使用!!!具体原因自己猜!
iconv( "UTF-8",”GBK” , $gametypes["name"]);
原创:
我的乱码问题是AJAX取数据时产生乱码,本来页面是采用GBK编码的。后来显示为乱码,我使用UE把它转换成UTF-8后,
页面上原来的元素就可以显示正确了。但是,数据库取出来的值还是会乱码。
ob_get_contents ();
取出所有的显示数据,然后输出到日志文件,显示全是乱码。
使用UE把文件再转换成GBK,然后再输出,显示就正确了。
这里再使用:header('Content-Type:text/html;charset=GBK');
前台页面显示就正常。
在试过这N多方法后,很多人都没发现,解决的方法其实很简单,而且其答案就在我们之前处理的JSP乱码之中。让我们先看一下AJAX的经典请求代码
xmlhttp.open( "post", url, async );
xmlhttp.setRequestHeader( "Content-Type", "text/html" );
xmlhttp.send( params );
通过前面的说明,不知道你现在看出端倪了没有。不知道是受了网上教程的影响还是其它方面影响,setRequestHeader并是万年不变的,也没人想过去改它,而问题就正好出在这个地方。回想一个JSP页面内容的编码设置,其中有这么一节:
contentType="text/html; charset=UTF-8"
现在知道问题了吧,所以我们要把第二句代码改为:
xmlhttp.setRequestHeader( "Content-Type", "text/html;charset=UTF-8" );
最后别忘了在返回数据时也设置上:
response.setContentType( "text/xml" );
response.setCharacterEncoding( "UTF-8" );
上面讲到的几种ajax中文乱码解决方法都是利用了header('Content-Type:text/html;charset=GBK');这类方法对页面的发送与接受处理数据页面编码统一了,大家现在可以尝试一下。
相关文章
- 人们熟悉的寄居蟹属于以下哪种分类 神奇海洋11月21日答案 11-21
- 第五人格11.22共研服有什么更新 11月22日共研服更新内容介绍 11-21
- 原神恰斯卡怎么培养 11-21
- 无期迷途四星装束是谁 11-21
- 王者荣耀帝丹高中校服怎么获得 11-21
- 光遇姆明季后续版本怎么玩 11-21