当前位置: 首页 > 知识库问答 >
问题:

Informix JDBC ISO-8859-2编码问题

雍兴修
2023-03-14

我在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"))));

共有1个答案

丰超
2023-03-14

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

 类似资料:
  • 我在Spring项目中遇到编码问题。现在我使用 -Dfile.encoding=ISO-8859-1 参数运行 jvm (tomcat)。在我的.jsp文件中有几行: 在 Web 中.xml我定义了编码过滤器 但当我用波兰语字母łśżź传递值时,我遇到了一个问题。在我的java控制器中,打印(并保存在DB中)的值是用html代码代替抛光字母。例如 aaalł保存为aaal[am]#322;[上午]

  • 问题内容: 我在评论 @Esailija回答我的一个问题时读到 ISO-8859-1是唯一完全保留原始二进制数据的编码,其字节<->代码点精确匹配 我也在@AaronDigulla的这个答案中读到: 在Java中,ISO-8859-1(也称为ISO-Latin1)是1:1映射 我需要对此有一些了解。这将失败: 问题 我承认我不太了解它- 为什么它没有得到上面代码中的字节 ? 最重要的是, 这是哪里

  • 我很难使用XSLT(使用氧气运行转换)从UTF-8编码的XML源生成ISO-8859-1编码的文本输出。 例如,当源包含破折号时,oxyow会抛出一个错误,“输出字符在此编码中不可用(十进制8211)”。 有简单明了的解决办法吗? 谢谢你的任何建议。

  • 最近,我们正在将java构建作业从serverA迁移到serverB,java源代码(包含中文字符)在使用Ant的原始serverA上编译良好( ),但是,当我们将相同的代码签出到新的serverB并运行相同的Ant脚本时,出现了编码错误,如“用于编码GBK的Unmappable character”(Unmappable character for encoding GBK)。(JDK版本相同)

  • 我有一个(非常简单的)java Spring Boot/REST服务,它从输入中呈现PDF并使用IntelliJ对其进行测试。 我使用pdfbox作为创建此类pdf的工具。 一个特点是,除了它想要的常规内容外,客户端还可以将附件作为字节[]提供。 当用户尝试该服务时,最终文档只有附件部分的空白页。 使用IntelliJ和HTTP REST客户端进行了尝试,但遇到了相同的问题 当我注意到使用post