java传值乱码解决方法
内容摘要
在做JavaWeb时,总是时不时的会遇到中文传值乱码问题,在你把所有”ISO-8859-1”改成“UTF-8”发现还是没什么用。于是我就找到了一个百试百灵的方法(至少目前我是),就是强行转换成
文章正文
在做JavaWeb时,总是时不时的会遇到中文传值乱码问题,在你把所有”ISO-8859-1”改成“UTF-8”发现还是没什么用。于是我就找到了一个百试百灵的方法(至少目前我是),就是强行转换成“UTF-8”编码。看代码:
1 2 3 4 5 6 7 8 9 10 11 12 | @RequestMapping( "/success.html" ) public String success(String userCode, Model model) { try { // 编码转换,防止中文乱码 userCode = new String(userCode.getBytes( "ISO-8859-1" ), "UTF-8" ); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } log.info( "userCode:" + userCode); model.addAttribute( "userCode" , userCode); return "success" ; } |
还有一个办法是在配置web.xml文件里添加一个编码过滤器,也能实现中文传值时不乱码。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <!-- 编码过滤器 --> <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> |
更多java知识请关注java基础教程栏目。
代码注释
[!--zhushi--]