java Spring MVC 3.1请求头字符编码问题[UTF8]
我试图从请求头中获取文件名,但我遇到了字符编码问题,尽管我在web中定义了Spring编码过滤器。xml
String fileName = request.getHeader("X-File-Name"); // wrong encoding
网络。xml
<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>
我还将URIEncoding="UTF-8"
配置添加到Tomcat服务器中。xml文件。
并添加了相同的配置JAVA_选项
-DuriEncoding=UTF-8 -Dfile.encoding=UTF-8
# 1 楼答案
如果报头始终使用UTF-8(或ascii)格式,则可以执行以下操作:
# 2 楼答案
没有为HTTP头定义编码。希望他们最多支持ISO-8859-1。最好依靠US-ASCII。正如名字所说,param是URI及其param的缩写。没有别的了