JS通过URL向另一jsp页面传值时中文乱码问题
2016-05-29 本文已影响1978人
JUNE言JUNE语
js传值到JSP
今天搞一个小项目的时候需要从某个页面的js向另外一个jsp页面通过url传值时中文乱码,搞了半天都没搞定,最后才发现原来是这么简单。
JS代码
str =encodeURI(str);
location.href = encodeURI("./jsp/update.jsp?var="+ str);
记住需要调用两次encodeURI方法,具体原因一部分是因为在接受的时候会先调用URLDecoder.decode方法。所以必须先调用两次encodeURI方法
JSP接受JS传来的值,解析
String var = request.getParameter("var");
String result = java.net.URLDecoder.decode(var,"UTF-8");
这样就可以解决乱码。
当然jsp的编码,workplace等的编码要处理一致。