Informix JDBC ISO-8859-2编码问题

时间:2018-09-05 15:06:51

标签: java jdbc encoding informix iso-8859-2

我的Java应用程序中的字符串编码有问题。我的Informix数据库具有ISO-8859-2编码。我在连接字符串中设置了DB_LOCALE。我的连接网址如下:

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字符串无法识别波兰语特殊字符。 charAt()方法返回65533代码。

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

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

结果有效。有什么想法在哪里吗?

1 个答案:

答案 0 :(得分:1)

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