web.xml中的error-page指令不能正确显示UTF8

时间:2008-12-04 05:32:22

标签: configuration tomcat encoding utf-8

我有一个带有以下条目的应用程序web.xml:

<error-page>
    <error-code>404</error-code>
    <location>/system_files/error/p_notfound.jsp</location>
</error-page>

但是,显示此页面时,日文字符会出现乱码。

如果直接显示或甚至通过servlet过滤器显示,同一页面(p_notfound.jsp)会正确显示。

我尝试添加过滤器:

request.setCharacterEncoding("UTF8");

但这没有用。有什么想法吗?

3 个答案:

答案 0 :(得分:0)

我也遇到过这个问题。我通过升级来解决它。您使用的是最新版本的Tomcat吗?

答案 1 :(得分:0)

使用request.setCharacterEncoding()对你没有帮助,因为它只是改变了用于解析请求参数的编码。

你应该检查一下:

  • JSP内容是否真的是UTF-8编码?
  • 您是否为JSP页面设置了pageEncoding参数?

答案 2 :(得分:0)

我尝试了上面的建议,但实际上我通过添加响应标头来强制它通过servlet过滤器来解决这个问题:

response.setHeader(“Content-Type”,“text / html; charset = UTF-8”);

似乎工作得很好!