spring,springmvc,struts,thymeleaf等都可能存在乱码的问题
解决办法总结:
1、设置tomcat(仅对get有效)
<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8079" protocol="HTTP/1.1" redirectPort="8443" start-timeout="-1"/>
2、配置过滤器,如:org.springframework.web.filter.CharacterEncodingFilter
<span style="white-space:pre"> </span><!-- 配置spring字符编码过滤器 -->
<filter>
<filter-name>springCharacterFilter</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>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>springCharacterFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3、查看用到的框架源码,是否含有字符集的设置,并在配置文件里面配置,如:
<bean class="org.thymeleaf.spring3.view.ThymeleafViewResolver">
<property name="templateEngine" ref="templateEngine" />
<property name="characterEncoding" value="UTF-8" />
</bean>