我在 Mac OS 10.5.8 上本地运行 Tomcat6。我们的登台和生产服务器设置了一个环境变量:
LANG=en_US.UTF-8
阶段和生产运行在 CentOS 上,并在 java 和 Tomcat 启动时读取此值。但是,java 似乎并未读取该值,并且默认为 en_US_ISO_85591。在我的本地计算机上,我已将 LANG=en_US.UTF-8 添加到我的 .bash_profile 文件中,因为 java 和 Tomcat 正在以我的用户身份运行。
如果有帮助的话,我们遇到的情况是,我们有一个后端服务,它将 xml 格式的 UTF8 数据传递到另一个 Controller ,该 Controller 将数据转换为页面级变量。在本地转换过程中,XML 数据被转换为 ISO_85591 格式,然后又转换回 UTF-8,并且会出现以下错误:
Invalid byte 1 of 1-byte UTF-8 sequence.
还有其他方法可以配置吗?
最佳答案
您可以在CATALINA_OPTS环境变量中设置tomcat的文件编码:
cd <tomcat_root>
CATALINA_OPTS="-Dfile.encoding=UTF-8"./bin/startup.sh
关于java - 如何在 Mac OS 10.5.8 上运行的 Tomcat/java 上设置 UTF8 语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1663571/