java - Informix JDBC ISO-8859-2 编码问题

标签 java jdbc encoding informix iso-8859-2

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

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

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

结果是有效的。有什么想法问题出在哪里吗?

最佳答案

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

关于java - Informix JDBC ISO-8859-2 编码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52188375/

相关文章:

c# - 将 UTF-8 文字转换为可读字符串,C#?

java - Intellij tomcat 服务器控制台编码问题与 log4j 的编码 = UTF-8?

java - Random() 总是使用种子选择相同的数字

java - 构建期间发生错误。在项目上运行生成器 'CDI (Contexts and Dependency Injection) Builder' 时出错

java - com.mysql.jdbc.exceptions.jdbc4.CommunicationsException : Communications link failure

java - 执行 ON DUPLICATE KEY UPDATE v=v 时,MySql java 驱动程序返回 1

java - 在 Java 8 中回滚()语句执行失败的最佳方法是什么?

encoding - Cygwin Emacs、Windows Everything 和 ^M

java - 符号库设计模式

java - 检查对象的类是否为日期的条件