SpringMvc+thymeleaf+HTML5中文乱码问题

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

SPRingMvc+thymeleaf+HTML5环境下遇到中文乱码......按照以往经验逐个排查,开发环境统一为utf-8编码,服务器也配置了编码过滤器。前台页面也是utf-8编码的。

郁闷,到底哪里出错了呢?

排错1:开发者工具检查请求,发现我的post请求体(表单)乱码

第一个坑:表单添加:accept-charset="UTF-8",请求体正常。服务器也打印出中文。

排错2:感觉服务器应该没问题了,可是页面怎么还是乱码?

百度查有人说可能是文件编码不对,即文件编码不是页面中设置的utf-8,于是仔细检查另存一下,发现依旧乱码 ==|

排错3:既然前台html没问题,服务器也没问题,那么自然而然的怀疑到了thymeleaf身上了

第二个坑:thymeleaf配置问题(java文件配置方式,xml配置一样配上编码就OK了)1:模板解析器设置编码utf-8

1@Bean2publicITemplateResolver templateResolver() {3ServletContextTemplateResolver templateResolver =newServletContextTemplateResolver();4templateResolver.setPrefix("/WEB-INF/templates/");5templateResolver.setSuffix(".html");6templateResolver.setTemplateMode("HTML5");7templateResolver.setCharacterEncoding("utf-8");8templateResolver.setCacheable(false);9returntemplateResolver;10}

2:视图解析器设置编码utf-8

1@Bean2publicViewResolver springThymeleafViewResolver() {34ThymeleafViewResolver viewResolver =newThymeleafViewResolver();5viewResolver.setTemplateEngine(templateEngine());6viewResolver.setOrder(1);7viewResolver.setCharacterEncoding("utf-8");8returnviewResolver;9}

OK,解决问题。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航