SpringMVC中文乱码 controller乱码

2020-04-09 11:52:34 浏览数 (1)

从前台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的过程 . 不包括解决其他情况的编码问题 (如数据库编码)

0 人点赞