表单提交在Controller中文乱码问题解决:
统一采用UTF-8编码格式是解决乱码问题的最佳解决办法。以Tomcat为例,可以通过以下几方面来将编码统一设置为UTF-8:
- 对于GET参数,在server.xml的
<Connector>
元素中设置URIEncoding=”UTF-8”; - 对于POST参数,用一个character encoding filter将编码格式设置为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>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
然后在jsp页面中添加如下代码:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>