可以尝试采用如下五种方法解决:
1、改为form方式提交,不用超链接方式提交
2、通过encodeURI(encodeURI(checkText))方法提交
java代码中用URLDecoder.decode解码:
<script> function download(documentPath){ var url = "<c:url value='/product/download.action?documentPath='/>"+documentPath; url = encodeURI(encodeURI(url)); window.location.href=url; } </script>
java代码中取中文:
String documentPath = (String) request.getParameter('documentPath'); documentPath = URLDecoder.decode(documentPath,"utf-8");
3、修改tomcat的server.xml中的connector,添加URLEncoding="UTF-8"
4、中文从java中传到jsp,再通过url传到java
java中编码:
URLEncoder.encode(URLEncoder.encode("传递的中文","utf-8"));
java中解码码:
URLDecoder.decode(request.getParameter('documentPath'),"utf-8");
5、Java中将字符串转码
String s = new String(filename.getBytes("ISO-8859-1"),"UTF-8");