ajax出现中文乱码怎么解决

  介绍

这篇文章主要讲解了“ajax出现中文乱码怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ajax出现中文乱码怎么解决”吧!

  由于XMLHTTP采用的是Unicode编码上传数据,而一般页面采用的是gb2312,这就造成显示页面时产生乱码。而当在获取页面时的XMLHTTP返回的是utf - 8编码,这就造成了显示产生乱码。

有一种解决办法就是使用encodeURIComponent加上修改内容类型为应用程序/x-www-form-urlencoded"来把数据统一编码成url格式,当然,也可以指定编码,如:“应用程序/x-www-form-urlencoded;charset=utf - 8”,

<强>解决方法之一

例子:

代码如下:


http_request=new ActiveXObject (“Msxml2.XMLHTTP");
http_request.setrequestheader (“content-type",“应用程序/x-www-form-urlencoded;charset=utf-8");



<>强解决方法之二
强就是在PHP文件中显示声明为GB2312

代码如下:


头(“内容类型:text/html; charset=GB2312");


而对于发送到服务器的中文进行转码。

如下

代码如下:


& lt; ?php
头(“内容类型:text/html; charset=GB2312");
if ($ _POST[& # 39;内容# 39;])
{
$ _POST [“content"]=iconv (“UTF-8",“gb2312", $ _POST [“content"]);
打印(“内容是“。$ _POST[& # 39;内容# 39;]);其他
}

{
打印(“没有内容发送“);
}
?比;


因而这样可以解决乱码问题

<强> jsp中ajax中文乱码

发送路径中的参数有中文,在服务器段接收参数值是乱码
例如:
var url=癮.jsp ? name=小李“;
xmlHTTP。打开(“post"、url、真实);
解决办法:
利用javascript的提供的逃避()或encodeURI()方法
例如:
客户端:

代码如下:


var url=癮.jsp ? name=小李“;
url=encodeURI (url);
url=encodeURI (url);//两次,很关键(具体为什么,我也不清楚]
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */


也有人写成var url=癮.jsp ? name=逃脱(“小李“)“;
功能和encodeURI方法类似。

代码如下:


/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
xmlHTTP.setrequestheader (“cache-control",“no-cache");
xmlHTTP.setrequestheader (“Content-Type",“应用程序/x-www-form-urlencoded");
xmlHTTP.setrequestheader (“contentType",“text/html; charset=uft-8")//指定发送数据的编码格式
xmlHTTP。打开(“post"、url、真实);


服务器端:

代码如下:


字符串名称=request.getParameter (“name");
名称=java.net.URLDecoder.decode (“name",“UTF-8");


2)返回来的responseText或responseXML的值中含有中文是乱码
原因:AJAX在接收responseText或responseXML的值的时候是按照utf - 8的格式来解码的,如果服务器段发送的数据不是utf - 8的格式,那么接收responseText或responseXML的值有可能为乱码。
解决办法:在服务器指定发送数据的格式:
在jsp文件中:
response.setContentType(“文本/文本;charset=UTF-8");//返回的是txt文本文件
或是
response.setContentType (“text/xml; charset=UTF-8");//返回的xml文件






gb2312jquery AJAX获取数据gb2312 <强>是 jsp: & lt; % @page contentType=坝τ贸绦?json"pageEncoding=癵b2312" %的在这里用的json作测试,与text/html应该一样
aps: Response.Charset=癵b2312"(参照网络未测试)
php:头(“内容类型:text/html;charset=gb2312");(参照网络未测试)
html:未解决gb2312jquery ajax获取数据utf - 8否,utf-8jquery ajax获取数据utf - 8否,utf-8jquery ajax获取数据gb2312 <强>是 jsp: & lt; % @page contentType=坝τ贸绦?json"pageEncoding=癵b2312" %的在这里用的json作测试,与text/html应该一样
aps: Response.Charset=癵b2312"(参照网络未测试)
php:头(“内容类型:text/html;charset=gb2312");(参照网络未测试)
html:未解决

感谢各位的阅读,以上就是“ajax出现中文乱码怎么解决”的内容了,经过本文的学习后,相信大家对ajax出现中文乱码怎么解决这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

ajax出现中文乱码怎么解决