URL中包含中文参数乱码问题解决
程序员文章站
2022-03-02 11:45:24
...
大家可能都遇到过在写javascirpt代码时传递中文,在后台取到时发现是乱码,这里把我今天做的方法写出来,希望对大家以后有用!
方法(一):
html页面:
后台java代码:
方法(二):
html页面:
后台java代码:
方法(三):
在tomcat下面找到server.xml
一般都是UTF-8,这里是解决中文乱码的问题。
<a href="jsp2.jsp?name=<%=java.net.URLEncoder.encode("汉字","utf-8")%>">jsp2</a>
方法(五):
传递汉字之前先编码,接受后再转回来。其中的utf-8是推荐设置,不要换成别的。这个编码和你的页面编码无关。此方法适用于get请求。另外如果是post,用过滤器最好,而你所尝试的方法都是对post请求而言的,对get无效。
方法(一):
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无效。