奇怪的问题,Tomcat Webapp UTF-8字符可以';t每次重新启动或重新部署后都不能正确显示

奇怪的问题,Tomcat Webapp UTF-8字符可以';t每次重新启动或重新部署后都不能正确显示,tomcat,utf-8,Tomcat,Utf 8,我们有一个奇怪的问题,web应用程序无法正确显示UTF-8字符,以下是事实: Tomcat 6.0.20,在Ubuntu 9.04上运行 我们这里有以下建议 我们的Webapp能够正确显示UTF-8字符 然而,每当我们的开发人员重新部署我们的webapp模块时,或者当我们重新启动tomcat时,所有UTF-8字符都显示为?????在我们的浏览器上 我们必须正确地重新启动Tomcat(等待Tomcat完全停止,然后再次重新启动Tomcat),尽管这很烦人,但它确实解决了问题 以前有没有人遇到过

我们有一个奇怪的问题,web应用程序无法正确显示UTF-8字符,以下是事实:

  • Tomcat 6.0.20,在Ubuntu 9.04上运行
  • 我们这里有以下建议
  • 我们的Webapp能够正确显示UTF-8字符
然而,每当我们的开发人员重新部署我们的webapp模块时,或者当我们重新启动tomcat时,所有UTF-8字符都显示为?????在我们的浏览器上

我们必须正确地重新启动Tomcat(等待Tomcat完全停止,然后再次重新启动Tomcat),尽管这很烦人,但它确实解决了问题


以前有没有人遇到过类似的问题,谢谢你的建议

因此,JSP页面编码变得疯狂。如果您遵循了找到正确方法的文章,那么这意味着

<%@page pageEncoding="UTF-8" %>
最后一步是验证获得的响应头。这取决于网络浏览器如何查看它们。在标准Firefox环境中,您可以通过右键单击页面>查看页面信息找到它。编码必须提及
UTF-8
。同样在Firefox中,在顶部菜单栏中,您可以通过查看>字符编码来检查和播放字符编码

一旦你收集了所有这些信息,你必须能够找到根本原因


编辑:作为旁注,Ubuntu附带了一个有缺陷的GNUJDK/JRE。我强烈建议去掉它并安装。你永远不会知道,我已经看到许多其他“无法解释”的问题/bug通过用更可靠的JDK/JRE替换而得到解决。

如果你确定内容是UTF-8,这可能会起作用。在catalina.sh文件中设置这一行(例如,就在巨大的初始注释之后,在导出注释之前很久):


此外,我们不知道您是否正在使用数据库中的数据。检查你是否正确地把它放在那里。

@Mayilarun发现得很好。编辑。先生,你是一个传奇:)
response.setContentType("text/html;charset=UTF-8");
export CATALINA_OPTS="$CATALINA_OPTS -Dfile.encoding=UTF-8"