从前台jsp的表单提交后 , 传到后台的controller中, 获得的中文是乱码 首先判断jsp的页面编码是否utf-8
代码语言:javascript复制<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
注意: form表单提交方式为必须为post,get方式下面spring编码过滤器不起效果
代码语言:javascript复制<form action="${ctx}/user/addUser" name="userForm" method="post">
修改web.xml,增加编码过滤器,如下(注意,需要设置forceEncoding参数值为true)
代码语言:javascript复制<!--编码过滤器-->
<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页面到controller的过程 . 不包括解决其他情况的编码问题 (如数据库编码)