我将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á
变为:T%E
我已经完成了数小时的Google搜索,但找不到该问题的答案。任何帮助,将不胜感激。
最佳答案
如果您使用的是Tomcat,则可能未在URIEncoding
中设置server.xml
。如果您未将其设置为UTF-8,它将无法使用。绝对保留CharacterEncodingFilter
。不过,以下是一个简洁的checklist。它一定会指导您完成这项工作。