彻底解决Spring MVC 中文乱码 问题
1:表单提交controller获得中文参数后乱码解决方案
注意: jsp页面编码设置为UTF-8
页面<meta> 标签设置成UTF-8
form表单提交方式为必须为post,get方式下面spring编码过滤器不起效果
- <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <form:form modelAttribute="person" action="action32">
修改web.xml,增加编码过滤器,如下(注意,需要设置forceEncoding参数值为true;最好在web.xml的最前面)
- <!--设置字符UTF-8 -->
- <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>
注意:
数据库编码是否支持中文
数据库表和表字段是否正确
在配置连接数据库的参数设置修改:
- <property name="url" value="jdbc:mysql://localhost:3306/dbname?useUnicode=true&characterEncoding=UTF-8"></property>