SpringMvc+thymeleaf+HTML5中文乱码问题

SpringMvc+thymeleaf+HTML5环境下遇到中文乱码......(注意是HTML5)

    按照以往经验逐个排查,开发环境统一为utf-8编码,服务器也配置了编码过滤器。前台页面也是utf编码的。

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

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

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

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

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

第二个坑:thymeleaf配置问题(java文件配置方式,xml配置一样配上编码就OK了)

1:模板解析器设置编码utf-8

 1   @Bean
 2     public ITemplateResolver templateResolver() {
 3         ServletContextTemplateResolver templateResolver = new ServletContextTemplateResolver();
 4         templateResolver.setPrefix("/WEB-INF/templates/");
 5         templateResolver.setSuffix(".html");
 6         templateResolver.setTemplateMode("HTML5");
 7         templateResolver.setCharacterEncoding("utf-8");
 8         templateResolver.setCacheable(false);
 9         return templateResolver;
10     }

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

1   @Bean
2     public ViewResolver springThymeleafViewResolver() {
3
4         ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();
5         viewResolver.setTemplateEngine(templateEngine());
6         viewResolver.setOrder(1);
7         viewResolver.setCharacterEncoding("utf-8");
8         return viewResolver;
9     }

OK,解决问题。

时间: 2024-10-24 18:32:56

SpringMvc+thymeleaf+HTML5中文乱码问题的相关文章

解决springmvc+mybatis+mysql中文乱码问题【转】

这篇文章主要介绍了解决java中springmvc+mybatis+mysql中文乱码问题的相关资料,需要的朋友可以参考下 近日使用ajax请求springmvc后台查询mysql数据库,页面显示中文出现乱码 最初在mybatis配置如下 <select id="queryContentById" resultType = "java.lang.String" parameterType="String" >     select t

SpringMvc返回@ResponseBody中文乱码

使用SpringMvc的@ResponseBody返回指定数据的类型做为http体向外输出,在浏览器里返回的内容里有中文,会出现乱码,项目的编码.tomcat编码等都已设置成utf-8,如下返回的是一个字符串中文乱码. Java代码   @RequestMapping("user/get_comment_list.do") public @ResponseBody String getUserCommentList(Integer user_id,Byte type){ HashMap

SpringMVC配置解决中文乱码的过滤器

SpringMVC框架中有提供解决get.post请求中文乱码的类,只需要在web.xml文件中配置该过滤器即可. <filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <

使用SpringMVC框架解决中文乱码的问题

spring Web MVC框架提供了org.springframework.web.filter.CharacterEncodingFilter用于解决POST方式造成的中文乱码 问题. 需要在web.xml中进行如下的配置即可 <filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterE

springmvc里面的中文乱码问题

如果是以get方法提交的表单,则可以在comcat服务器的server.xml文件里面设置 <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>,并重启服务器即可,不能用request.setCharacterEncoding(&

springMVC的@ResponseBody中文乱码

网上很多这种文章但是都没有什么用,有的基本都是只说了一半. 解决方法有很多,一种是局部,也就是单个方法有用的 @RequestMapping(value="", produces = "application/json; charset=utf-8") 鼠标移到produces上有如下提示 像 produces = "text/html; charset=utf-8" produces = "text/plain; charset=ut

SpringMVC返回字符串中文乱码

一个例子 Spring版本为5.1.7 Controller中的方法如下: @ResponseBody @RequestMapping(value = "/call/{name}") public String callSomeone(@PathVariable("name")String name) { return "call "+name; } 当这个方法被请求时会返回给浏览器一个字符串,现在遇到的问题是当name为中文时返回的字符串会乱码

解决springmvc返回json中文乱码

在pringmvc中通过设置@ResponseBody返回json乱码问题,这个问题上网找了很久,发现答案真是人云亦云,奉上我的解决方案: 解决方案一:需要导入 jackson-core-asl-1.9.11.jarjackson-mapper-asl-1.9.11.jar 包,其目的是设置了返回json的格式 <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter

SpringMVC中@ResponseBody中文乱码

常常json以@ResponseBody注解String类型返回,由于 StringHttpMessageConverter里面默认设置了字符集是ISO-8859-1,因此这儿传回去的字符串中的中文常常是乱码,多个?号表示的样子,解决的方法是将StringHttpMessageConverte r默认值改为UTF-8才行. spring配置文件中添加这两个bean,代码如下:     <bean name="utf8Charset" class="java.nio.ch