公司项目有个问题,ajax请求含中文,无论是post方式还是get方式。本地使用tomcat不乱码,liunx+weblogic都乱码。并且用以往encodeURIComponent()并在后台解码之后仍然无效。后来处理过的同事告诉我了方法:
在jsp页面中:
1 var newParamsVar= encodeURI(encodeURI(paramsVar));
这样编码后传参。
在action中:
1 String memoTemp=Memo; 2 if(!PubMethod.isEmpty(memoTemp)){ 3 String memoNew; 4 try { 5 memoNew = URLDecoder.decode(URLDecoder.decode(memoTemp,"utf-8"),"utf-8"); 6 } catch (UnsupportedEncodingException e) { 7 e.printStackTrace(); 8 } 9 }
这样解码。
这个方法的好处是,在本地使用tomcat和liunx+weblogic环境通用,都不乱码。
jdk提供类:
java.net.URLDecoder
java.net.URLEncoder
encode的用法:
1 String test1=URLEncoder.encode(param1, "UTF-8"); 2 String test2=URLEncoder.encode(URLEncoder.encode(param2, "UTF-8"), "UTF-8");