java - 如何在 Mac OS 10.5.8 上运行的 Tomcat/java 上设置 UTF8 语言?

标签 java macos utf-8 tomcat6 operating-system

我在 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/

相关文章:

java - 如何找出哪个变量抛出异常?

java - libgdx表结构

java - 再次在字符串追加 vs concat vs +

java - JFrame 不会显示多个 JPanel

macos - 我可以使用虚拟机代替物理机进行MacOS设备驱动程序开发吗?

ios - Swift 2 无法使用类型的参数列表调用 'FSEventStreamCreate'

java jlabel setText(str) 当str有韩文字符时错误

c - GCC 优化导致奇怪的问题 - 我该如何调试?

Android EditText 最大长度计算 UTF-8 编码字符

javascript - 使用UTF-8输出奇怪的字符