在做JavaWeb时,总是时不时的会遇到中文传值乱码问题,在你把所有”ISO-8859-1”改成“UTF-8”发现还是没什么用。于是我就找到了一个百试百灵的方法(至少目前我是),就是强行转换成“UTF-8”编码。看代码:
@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文件里添加一个编码过滤器,也能实现中文传值时不乱码。
<!-- 编码过滤器 --> <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基础教程栏目。
Atas ialah kandungan terperinci java传值乱码解决方法. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!