Ajax通过Get方法传递中文参数,但是在servlet中经常会出现乱码,两者所采取的都是UTF-8的编码格式,后经过搜索实验解决,关键代码如下:
Ajax中的代码,其中searchTxt为中文
var url = "SiteSearch?searchTxt="+encodeURI(searchTxt)+"&choice="+objID;
httpRequest.open("get", url, true);
Servlet中需要作一下简单的转换:
String searchText = new String(request.getParameter("searchTxt").getBytes("ISO-8859-1"),"UTF8");
这样就可以正确的输出中文。