即使添加了过滤器,也不会对帖子正文进行编码

bar*_*kur 5 java spring spring-mvc

我在web.xml中使用了CharacterEncodingFilter(第一个过滤器)

<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>
Run Code Online (Sandbox Code Playgroud)

但是当我发出POST请求时,正文不会被编码Req Body Sent:

{
    "hi": "??"
}
Run Code Online (Sandbox Code Playgroud)

但收到了

{
    "hi": "??"
}
Run Code Online (Sandbox Code Playgroud)

bar*_*kur 1

在tomcat中设置file.encodingUTF8有效。我不知道为什么当系统编码为 .tomcat 时,tomcat 不工作UTF-8

根据这里的Java文档

下表显示了 Java SE 7 支持的编码集。新 java.nio API 使用的规范名称在许多情况下与 java.io 和 java.lang API 中使用的规范名称不同。