我在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.
还有其他方法可以配置吗?
答案 0 :(得分:3)
您可以在CATALINA_OPTS环境变量中为tomcat设置文件编码:
cd <tomcat_root>
CATALINA_OPTS="-Dfile.encoding=UTF-8"./bin/startup.sh