1, 为什么会有乱码?
表单提交时,浏览器会对中文参数值使用打开该表单所在页面时的字符集来编码。比如使用"utf-8"来编码。
服务器端默认使用"iso-8859-1"来解码。
所以会产生乱码。
2, 如何解决?
配置springmvc提供的过滤器(CharacterEncodingFilter)。
注意:
a.表单提交方式必须设置为"Post"
b.页面编码与初始化参数设置的编码要一致。
具体配置如下:
<filter>
<filter-name>encodingFilter</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>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>