在我的控制器文件中,我不得不包含以下代码行,以便外部字符正确显示。有没有更好的办法?除非另有说明,否则如何自动将文本编码为utf-8?
request.setCharacterEncoding("UTF-8");
我尝试在我的server.xml中添加这些行,但它没有什么区别。
<Connector protocol="HTTP/1.1" URIEncoder="UTF-8"
<Connector protocol="AJP/1.3" URIEncoder="UTF-8"
答案 0 :(得分:3)
在web.xml中添加一个过滤器,将所有内容转换为UTF-8。我使用Spring alot提供了一个过滤器来执行此操作:
<filter>
<filter-name>charEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>charEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
过滤器不会比您在此处做的更多,除了您不必将其包含在控制器中。 Struts可能也会提供这样的过滤器,否则你自己写的很容易。