Spring MVC 中文乱码问题解决

Spring MVC 中文乱码问题解决


表单提交controller获得中文参数后乱码解决方案:

  1. jsp页面编码设置为UTF-8
<%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="UTF-8" %>
  1. form表单提交方式为必须为post,get方式下面spring编码过滤器不起效果
<!-- 将请求参数绑定到控制器方法的表单对象 -->
<form action="../user/saveUser" method="post">
	loginName:<input type="text" name="loginName"/><br/>
	password:<input type="password" name="password"/><br/>
	province:<input type="text" name="address.province"/><br/>
	city:<input type="text" name="address.city"/><br/>
	<input type="submit" value="提交"/>
</form>
  1. 修改web.xml,增加编码过滤器,如下(注意,需要设置forceEncoding参数值为true)
<!-- 编码过滤器 -->
	 <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>
  • 这里需要注意的是,最好把这段代码放在web.xml中开头的位置,因为拦截有顺序,如果放在后面的话容易拦截不到。
  1. 右键点击项目名,点击Properties看你项目的编码是否UTF-8,不是就改为UTF-8

在这里插入图片描述

  1. 可以配置eclipse的全局编码为UTF-8,这样你新建,导入项目都会默认设为UTF-8,
    在eclipse中点击window–>preferences–>general–>workspace设置编码为UTF-8

    在这里插入图片描述

版权声明:本文为qq_22075913原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。