CharacterEncodingFilter

CharacterEncodingFilter

我将CharacterEncodingFilter设置为web.xml中的第一个过滤器:

<filter>
 <filter-name>encodingFilter</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>encodingFilter</filter-name>
 <url-pattern>/*</url-pattern>
</filter-mapping>

在我的JSP中:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" isELIgnored="false" %>

还有这个:
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

但是,例如,从JSP表单传递回控制器然后再返回到JSP的变为:T%E
我已经完成了数小时的Google搜索,但找不到该问题的答案。任何帮助,将不胜感激。

最佳答案

如果您使用的是Tomcat,则可能未在URIEncoding中设置server.xml。如果您未将其设置为UTF-8,它将无法使用。绝对保留CharacterEncodingFilter。不过,以下是一个简洁的checklist。它一定会指导您完成这项工作。

09-27 03:18