用javascript跳转url传中文乱码的解决方法

示例:

这样直接传递中文是会乱码的

$("#addBtn").click(function(){
    var url = "addNew.do?name='张三'";
    var URL = encodeURI(encodeURI(url));
    location=URL;
})

对url进行encode两次

$("#addBtn").click(function(){
    var url = "addNew.do?name='张三'";
    var URL = encodeURI(encodeURI(url));
    location=URL;
})

后台取数据的时候解码

String name = request.getParameter("name");
name = java.net.URLDecoder.decode(groupName , "UTF-8");


这样就不会中文乱码了。

 

2012-11-28补充:

使用上述方法可以解决中文乱码的问题,在火狐浏览器下测试通过。但是在IE中这样写会报404错误,找不到页面。

解决方法:

在URL前面加上项目地址就不会在IE中出现404错误了

$("#addBtn").click(function(){
    var url = "addNew.do?name='张三'";
    var URL = encodeURI(encodeURI(url));
    location="<%=basePath%>"+URL;
})


 

你可能感兴趣的:(用javascript跳转url传中文乱码的解决方法)