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

发布于 2024-08-09 22:37:42 字数 505 浏览 2 评论 0原文

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

是否有另一种方法来配置它?

I'm running Tomcat6 locally on Mac OS 10.5.8. Our staging and production servers have setup an environment variable of:

LANG=en_US.UTF-8

Stage and production run on CentOS and read this value in when java and Tomcat starts up. However, it doesn't appear that java is reading this value and is defaulting to en_US_ISO_85591. On my local machine, I have added LANG=en_US.UTF-8 to my .bash_profile file, because java & Tomcat are running as my user.

If it helps, the situation we're running into is that we have a backend service that delivers xml-formatted UTF8 data to another controller that converts the data into a page-level variable. Its during the conversion process locally that the XML data is being converted to the ISO_85591 format, then back to UTF-8, and it breaks with this error:

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

Is there another way to configure this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

握住我的手 2024-08-16 22:37:42

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

cd <tomcat_root>
CATALINA_OPTS="-Dfile.encoding=UTF-8"./bin/startup.sh

You can set file encoding for tomcat in CATALINA_OPTS environment variable:

cd <tomcat_root>
CATALINA_OPTS="-Dfile.encoding=UTF-8"./bin/startup.sh
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文