5

我在两个应用程序服务器(websphere 8.0.0.3)中部署的应用程序存在以下问题。

这些服务具有相同的配置文件(有一次我导出了一个配置文件并将其导入到第三个应用程序服务器以确保),并且我在读取和显示以 iso8859-7 编码的文件时遇到问题。一个应用程序服务器正确显示它们,另一个显示文件中非 ascii 字符的 qustionmarks。其他应用程序服务器在正确显示它们方面没有问题。因为我怀疑问题不是来自 websphere,而是操作系统问题(在所有情况下都是 unix SLES),所以我已经从一台服务器导出了配置文件并将其安装在第三台服务器上,一切似乎都可以正常工作美好的。

为了解决这个问题,我部署了一个简单的 servlet,显示 jvm 的默认字符集。有问题的显示 US-ASCII ,好的显示 UTF-8 。以运行应用程序服务器的用户身份在 unix 终端中运行语言环境,在两台机器上都在 en_US.UTF8 上设置了 lang。

我想补充的最后一件事是,该应用程序还使用带有 log4j 绑定的 slf4j 写入日志文件。在有问题的服务器上,日志文件是 ASCII,而在好的服务器上是 UTF-8。因为很明显在日志中记录 iso8859-7 字符,所以显示问号 (?) 而不是实际字符。

我的问题是我应该继续寻找 websphere 中的错误配置问题还是操作系统设置的问题

先感谢您

瓦西里奥斯·米尔纳基斯

4

1 回答 1

4

websphere 是否在不同的操作系统上运行?

您可以通过添加这些 JVM 参数来强制 WebSphere 使用 UTF-8

-Dclient.encoding.override=UTF-8
-Dfile.encoding=UTF-8

参考:

http://www-01.ibm.com/support/docview.wss?uid=nas8N1014138 http://www-01.ibm.com/support/docview.wss?uid=swg21593033

于 2015-12-01T05:43:27.040 回答