页面表单传入乱码
试了非常多方法,包括tomcat下的conf内的xml文件修改成utf-8(例如添加URIEncoding=“UTF-8”)等等,全部试了发现还是没有解决。
以下编码过滤器在web.xml的最上面即可。
<filter>
<filter-name>characterEncodingFilter</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>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
国际化资源乱码和页面显示乱码
国际化资源文件默认是Unicode字符的,有时候打开会发现不知道中文是什么,在开发工具中直接修改编码为utf-8即可。
在页面中国际化中文出现乱码的情况则需要加两个属性(如下)。basename是国际化资源文件名
<!-- 配置国际化资源文件 -->
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename" value=""></property>
<property name="cacheSeconds" value="0"/>
<property name="defaultEncoding" value="UTF-8"/>
</bean>