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