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");

5.Java中將字符串轉碼

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM