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无效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值