dtree中url参数中中文参数的传递,出现乱码问题的解决。
2014-03-15 18:48
696 查看
String name="张三";
int id=3;
//两次进行编码
name=java.net.URLEncoder.encode(name,"UTF-8");
name=java.net.URLEncoder.encode(name,"UTF-8");
url="/test/search.do?name="+name+"&"+id;//
一下是controller内的相应
@RequestMapping("/search.do”)
public String search(@RequestParam("name")String name, @RequestParam("id")int id)
{
name=java.net.URLDecoder.decode(name,"UTF-8");//此时name是张三
....................
}
原因分析:在浏览器地址栏里,浏览器认为%是个转义字符,浏览器会把%与%之间的编码,两位两位取出后进行解码,然后再传递给处理页面,然后由处理页面进行再次解码,所以需要使用两次URLEncoder.encode方法。
第一次是把中文编码成%xy的格式; 第二次是对%xy中的%进行编码,%编码成%。客户端和服务器在传递数据时可以用过滤器filter解决字符编码问题,但filter只能解决post方式提交的数据。对于get方式,可以使用两次java.net.URLEncoder.encode并在服务器中使用java.net.URLDecoder.decode 今天在springmvc遇到这个问题,尽管页面、类和web容器都统一了字符编码,提交的数据依然是乱码,所以就采用了2次URLEncoder。encode编码方式,乱码问题就解决了。
当然,不管在js中,还是后台,只是调用的编码解码函数不同而已,问题解决原理,却是一样的。
int id=3;
//两次进行编码
name=java.net.URLEncoder.encode(name,"UTF-8");
name=java.net.URLEncoder.encode(name,"UTF-8");
url="/test/search.do?name="+name+"&"+id;//
一下是controller内的相应
@RequestMapping("/search.do”)
public String search(@RequestParam("name")String name, @RequestParam("id")int id)
{
name=java.net.URLDecoder.decode(name,"UTF-8");//此时name是张三
....................
}
原因分析:在浏览器地址栏里,浏览器认为%是个转义字符,浏览器会把%与%之间的编码,两位两位取出后进行解码,然后再传递给处理页面,然后由处理页面进行再次解码,所以需要使用两次URLEncoder.encode方法。
第一次是把中文编码成%xy的格式; 第二次是对%xy中的%进行编码,%编码成%。客户端和服务器在传递数据时可以用过滤器filter解决字符编码问题,但filter只能解决post方式提交的数据。对于get方式,可以使用两次java.net.URLEncoder.encode并在服务器中使用java.net.URLDecoder.decode 今天在springmvc遇到这个问题,尽管页面、类和web容器都统一了字符编码,提交的数据依然是乱码,所以就采用了2次URLEncoder。encode编码方式,乱码问题就解决了。
当然,不管在js中,还是后台,只是调用的编码解码函数不同而已,问题解决原理,却是一样的。
相关文章推荐
- 解决Java中URL传递中文参数时出现乱码的问题
- url中传递中文参数出现乱码的问题
- 在url中传递汉字到另外一个页面后,出现中文乱码的问题解决
- JSP页面中超链接传递中文参数出现乱码问题解决方法
- 【JavaScript】9.JS解决url传递参数中文乱码的问题
- js url 传递参数时中文乱码问题解决
- 解决get方法传递URL参数中文乱码问题
- 解决javascript通过url向Jsp页面传递中文参数乱码问题
- 解决get方法传递URL参数中文乱码问题
- 2017-12-25 【jsp】解决URL传递中文参数乱码问题
- 解决get方法传递URL参数中文乱码问题
- 解决通过url传递中文参数乱码的问题
- 解决ajax传递中文参数,出现乱码的问题
- 解决get方法传递URL参数中文乱码问题
- 解决get方法传递URL参数中文乱码问题
- [转]解决get方法传递URL参数中文乱码问题
- 解决get方法传递URL参数中文乱码问题
- 关于struts2.1.6前台传递中文参数到后台action出现乱码问题的解决办法
- 解决get方法传递URL参数中文乱码问题
- Spring MVC url 参数传递出现中文乱码解决方法