急急急!Java解析AJAX的中文URL乱码!
在网上查了两天帖子了,中文乱码的问题还是没有解决!
1.系统配置如下:
Tomcat6.0 web.xml已经设置filter为utf-8 server.xml也设置为utf-8
windows xp 中文
IE7.0
2.代码如下
2.1客户端:
<html>
<head>
<meta http-equiv=Content-Type content="text/html;charset=UTF-8">
……
……
createXMLHttpRequest();
var url = "Search?names=" + encodeURI(inputField.value, 'utf-8');
alert('no parse: '+url +';parse: '+ decodeURI(url));//判断javascirpt中是否解析成功
xmlHttp.open("GET", url, true);
xmlHttp.onreadystatechange = callback;
xmlHttp.send(null);
2.2服务器端:
request.setCharacterEncoding("utf-8");
String param_1= new String(request.getParameter("names"));
System.out.println(param_1);
或者
String param_2 =new String(java.net.URLDecoder.decode(request.getParameter("names"), "utf-8"));
System.out.println(param_2);
3.结果:
假如input.value等于“中文”
3.1客户端
返回对话框"no parse: search?name=%E4%B8%AD%E6%96%87; parse: search?name=中文
这应该可以说明javascript对中文参数的字符转换是成功的
3.2服务器端
总是是显示“???”
请高手帮忙!!