我在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>
但是当我发出POST请求时,正文不会被编码 请求发送身体:
{
"hi": "您好"
}
但收到
{
"hi": "??"
}
答案 0 :(得分:2)
CharacterEncodingFilter
不会更改请求(或响应)内容的编码,它只设置请求/响应http-header。
答案 1 :(得分:1)
在tomcat中将file.encoding
设置为UTF8
。当系统编码为UTF-8
时,我不知道为什么tomcat不工作。
根据Java文档here
下表显示了Java SE 7支持的编码集。新java.nio API使用的规范名称在很多情况下与java.io和java.lang API中使用的名称不同。