URL中包含中文参数乱码问题解决

大家可能都遇到过在写javascirpt代码时传递中文,在后台取到时发现是乱码,这里把我今天做的方法写出来,希望对大家以后有用!



方法(一):

html页面:

function testOne() {

   var url =  "testOne_test.do?expr="+你好;

   location  = encodeURI(url);

}




后台java代码:

String expr = new String(request.getParameter("expr").getBytes("ISO-8859-1"),"UTF-8");  


方法(二):

html页面:

function testOne() {

   var url =  "testOne_test.do?expr="+你好;


   location = encodeURI(encodeURI(url)); 

}




后台java代码:

String expr = java.net.URLDecoder.decode(lrequest.getParameter("expr") , "UTF-8");




方法(三):

在tomcat下面找到server.xml

<Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" URIEncoding="UTF-8">,

一般都是UTF-8,这里是解决中文乱码的问题。

<a   href="jsp2.jsp?name=<%=java.net.URLEncoder.encode("汉字","utf-8")%>">jsp2</a>  
   
方法(五):  
 
String   s   =   request.getParameter("name");   
  s   =   new   String(s.getBytes("iso8859_1"),"utf-8");   
  out.print(s);   

   
  传递汉字之前先编码,接受后再转回来。其中的utf-8是推荐设置,不要换成别的。这个编码和你的页面编码无关。此方法适用于get请求。另外如果是post,用过滤器最好,而你所尝试的方法都是对post请求而言的,对get无效。

你可能感兴趣的:(JavaScript,java,tomcat,xml,.net)