1

我在 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 数据传递到另一个控制器,该控制器将数据转换为页面级变量。在本地的转换过程中,XML 数据被转换为 ISO_85591 格式,然后又转换回 UTF-8,并且出现以下错误:

Invalid byte 1 of 1-byte UTF-8 sequence.

还有另一种配置方法吗?

4

1 回答 1

3

您可以在 CATALINA_OPTS 环境变量中为 tomcat 设置文件编码:

cd <tomcat_root>
CATALINA_OPTS="-Dfile.encoding=UTF-8"./bin/startup.sh
于 2009-11-02T21:05:33.893 回答