Tomcat重新启动或重新部署会断开java源文件中的unicode字符

Tomcat重新启动或重新部署会断开java源文件中的unicode字符,java,tomcat,unicode,Java,Tomcat,Unicode,我使用jsf和primefaces 4开发了一个liferay 6.2应用程序。我在xhtml文件和java源文件中都有unicode字符。在tomcat重新启动或重新部署应用程序后,有一种奇怪的行为,就是打断我的字符,而问题只是来自源文件的字符。页面上的其余unicode字符显示正确。而且这种行为并不总是可复制的 我读过一些关于设置jvm或tomcat默认编码的帖子,建议的主要操作是设置-Dfile.encoding=UTF-8,但运气不好。 我使用的是tomcat 7.0.42如果您使用的是

我使用jsf和primefaces 4开发了一个liferay 6.2应用程序。我在xhtml文件和java源文件中都有unicode字符。在tomcat重新启动或重新部署应用程序后,有一种奇怪的行为,就是打断我的字符,而问题只是来自源文件的字符。页面上的其余unicode字符显示正确。而且这种行为并不总是可复制的

我读过一些关于设置jvm或tomcat默认编码的帖子,建议的主要操作是设置-Dfile.encoding=UTF-8,但运气不好。
我使用的是tomcat 7.0.42

如果您使用的是Eclipse,请尝试在项目属性>资源中设置文本编码


这个问题与类文件的编码有关。解决方案是为javac设置正确的编码。我最终发现,在eclipse中,我必须编辑build.user.properties文件来设置javac.encoding=UTF-8

是的,我在项目开始时没有设置,但我在eclipse中进行了设置,几个月后问题仍然存在。问题实际上是在重新部署之后。我已经测试了所有内容,但没有成功。我注意到文件编码为UTF-8,没有BOM表。我知道这是正常的,我知道有了BOM表就无法编译。但是一些编辑打开它时无法识别字符