我有一个在Tomcat上运行的Web应用程序,并且在其工作目录中,我有一些HTML文件,其中包含带有一些非英语字符的文本。在Web应用程序中,有一个查看此文件的链接,当从该链接查看该文件时,文件内容为乱码。即,字符OpenPGM包含的数据传输将显示为OpenPGM 組 æ’æ•¸æ“ šå‚³è¼¸
以下是屏幕快照供参考:When accessed with tomcat URL
When accessed by opening the file with browser
但是当我使用浏览器打开文件时,字符正确显示。
此行为使我相信问题在于tomcat显示数据的方式。
到目前为止,我已经检查了JAVA_OPTS中设置的文件编码(它是UTF-8),甚至检查了tomcat server.xml中的URIEncoding参数,它也是UTF 8(即使它是URI而不是文件内容) )。
对此的任何帮助将不胜感激!
response.setCharacterEncoding(“ UTF-8”);
这导致响应的标题(对tomcat对文件的请求)包含正确显示页面的字符集信息。希望这可以帮助某人!