问题:我用了过滤器,而且也写了request.setCharacterEncoding("UTF-8");可是js传的值到action接收就成乱码了?
答:这答案出自一位脚本之家之手,借鉴过来,很受用
在websphere 中使用的是url=encodeURI(encodeURI(url)); //用了2次encodeURI 测试成功,第一次转换没有尝试,
处理方法一。
js 程序代码:url=encodeURI(url);注意是整个URL
服务器端的代码:String linename = new String(request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8");
处理方法二。
js:var url="name="+name;
url=encodeURI(encodeURI(url)); //用了2次encodeURI
window.location = "<%=path%>/inner/line/line.jsp?"+url;
服务器端的代码:
String linename = request.getParameter(name);
//java : 字符解码
linename = java.net.URLDecoder.decode(linename , "UTF-8");
详细出处参考:http://www.jb51.net/article/20973.htm