最近研究ajax,在界面上text中输入中文,发送出去后返回乱码。经过一个晚上的测试,以及得到满意答案,代码如下:
HTML:
//实际上这里的charset=utf-8 也是可以的,因为在中文平台下
//用了GB2312
<meta http-equiv="Content-Type" content="text/html; charset=GB2312">
JS:
我用了两个方法提交:GET 和 POST。
在服务器端要对应不同的提交方式转换不同的编码。
……
//要传递的参数
var queryString = "firstName=" + firstName + "&lastName=" + lastName
+ "&birthday=" + birthday; function
//GET方式提交
doRequestUsingGET() {
createXMLHttpRequest();
var url = "GetAndPostExample?" + queryString + "&timeStamp="
+ new Date().getTime();
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.open("GET", url, true);
xmlHttp.send(null);
}
//POST方式提交
function doRequestUsingPOST() {
createXMLHttpRequest();
var url = "GetAndPostExample?timeStamp=" + new Date().getTime();
xmlHttp.open("POST", url, true);
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.send(queryString);
}
servlet:
response.setContentType("text/xml");
//这个一定要设置,这里的设置应该跟HTML中的一样,但是我在这里
//用了 uft-8, 结果也是一样。
response.setCharacterEncoding("GB2312");
//当用POST方法时,一定要设置成utf-8,否则乱码
String firstName = new String(request.getParameter("firstName").getBytes("ISO-8859-1"), "utf-8");
//当用GET方法时,要设置成GB2312,否则乱码。
String lastName = new String(request.getParameter("lastName").getBytes("ISO-8859-1"), "GB2312");
测试结果:
因为界面上两个控件firstName 和 lastName都输入中文。
接收xmlHttp.responseText后,会发现其中一个为乱码,一个可以正常显示中文。
分享到:
相关推荐
Ajax中文乱码问题解决方案
jquery+asp ajax 中文乱码问题解决文档
Ajax 中文乱码问题 Ajax 中文乱码问题 Ajax 中文乱码问题
ajax乱码问题.ajax乱码问题的一些解决方案,总结网友的一些方法。
用ajax 通过url传参数给servlet时,在servlet提取时一直是乱码,即使用了统一的字符编码也没用。
java认证_Ajax中文乱码问题及解决方法.doc
今天终于解决了AJAX的中文乱码问题,写篇文章来帮助一下有同样问题的朋友们。我的开发环境:XP, eclipse,使用GB18030编码。 当遇到这个问题时,到网上去查了好多文章,提到几种解决方案,如:全站UTF-8编码;请求头...
ajax中文乱码问题在中文中经常会出现这种问题,其实只要稍加注意就不会出现ajax中文乱码这回事情了,注意前后台编码一致.你用的是中文.而ajax传输数据的时候用的是utf-8 ,还有对ajax get方法时最好escape 或urlcode,...
GBK编码下jQuery_Ajax中文乱码解决方案
简单整理的乱码处理方案,jquery的ajax解决UTF-8以及GBK的问题
NULL 博文链接:https://zmx.iteye.com/blog/643075
struts中文乱码问题解决详细步骤(两种方法)
Ajax解决乱码问题
本人收集的解决Ajax的乱码解决办法,自己试了很多,确实能够解决问题。
Ajax跨域问题及其解决方案.docx
ajax乱码ajax乱码ajax乱码ajax乱码ajax乱码ajax乱码ajax乱码ajax乱码ajax乱码ajax乱码
JQuery AJAX 中文乱码问题解决,需要的朋友可以参考一下
ajax提交时,后台接收的参数出现中文乱码的解决方法,
主要解决在ajax中中文参数传递过程中,服务器接收到中文乱码的问题