前言:
項目用springmvc+Thymeleaf ,但是發現html中的所有中文都亂碼。
但是自己的html的編碼確定已經是UTF-8,在web.xml文件里面也添加了CharacterEncodingFilter,還是沒有解決。
在網上搜了好久,網上的說法是為ThymeleafViewResolver添加characterEncoding的屬性,但是自己嘗試之后還是沒有解決。
解決辦法:
同時為ServletContextTemplateResolver和ThymeleafViewResolver添加characterEncoding=UTF-8的屬性。代碼如下。(重要部分紅色標出了)、
<!-- 前端的渲染魔板引擎thymeleaf--> <bean id="templateResolver" class="org.thymeleaf.templateresolver.ServletContextTemplateResolver"> <property name="prefix" value="/pages/"/> <property name="suffix" value=".html"/> <!-- 設置thymeleaf可以解析html的mode--> <property name="templateMode" value="LEGACYHTML5"/> <property name="cacheable" value="false"/>
<!--這里要設置編碼 --> <property name="characterEncoding" value="UTF-8"/> </bean> <bean id="templateEngine" class="org.thymeleaf.spring3.SpringTemplateEngine"> <property name="templateResolver" ref="templateResolver"/> </bean> <!-- 配置引擎的viewResoler--> <bean class="org.thymeleaf.spring3.view.ThymeleafViewResolver"> <property name="templateEngine" ref="templateEngine"/>
<!--這里要設置編碼 -->
<property name="characterEncoding" value="UTF-8"/>
</bean>