1

我的 Java 应用程序中的字符串编码有问题。我的 Informix 数据库采用 ISO-8859-2 编码。我已经设置DB_LOCALE了一个连接字符串。我的连接 URL 如下所示:

jdbc:informix-sqli://test/test:informixServer=test;portNumber=1542;databaseName=test;serverName=test_informix;ifxIFXHOST=test;DB_LOCALE=pl_PL.8859-2;DBDATE=Y4MD-;IFX_LOCK_MODE_WAIT=10;

从数据库中选择数据后,Java String 无法识别波兰语特殊字符。charAt()方法返回65533代码。

我试图查看该字符串的十六进制代码:

String.format("%040x", new BigInteger(1, input.getBytes("ISO-8859-2"))));

结果是有效的。任何想法问题出在哪里?

4

1 回答 1

1

我设法找到了解决方案。问题出在LANG系统变量中。我的机器上是空的。将其更改为en_US.ISO-8859-1字符串后得到正确处理。

于 2018-09-06T06:37:40.190 回答