JAVA中传递参数乱码问题

url传递中文
若是jsp页面,myeclipse、web.xml中org.springframework.web.filter.CharacterEncodingFilter,都是UTF-8编码,
直接传中文通常是不会乱码的,若是再有乱码,能够用如下的方式试试。
目前收集到4中方法,中文传参一documentPath为例:
1.改成form方式提交,不用超连接方式提交,用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");java

5.Java中将字符串转码web

String s = new String(filename.getBytes("ISO-8859-1"),"UTF-8");spring

相关文章
相关标签/搜索