java - AS400 上的 DB2 与 jt400 的编码问题

标签 java jdbc ibm-midrange jt400

我使用 jt400 从 as400 - db2 上的数据库获取数据。

我的数据库使用ccsid 37编码。 我只对波兰语字母有问题。 如何强制 jt400 使用正确的编码?

我试过了

jdbc:as400://MY_SYSTEM/LIBRARY;translate binary=true

AS400Text converer = new AS400Text(stringFromDb.length(), 37);
String stringAfterConversion = converter.toObject(stringFromDb.getBytes());

但是不起作用

最佳答案

CCSID 37 是英语,不包含某些波兰语字符。波兰语 CCSID 为 1153 或 870(不带欧元符号)。

您可以在此处查看 CCSID 37(字符集 697)中包含的符号:ftp://ftp.software.ibm.com/software/globalization/gcoc/attachments/CS00697.pdf

您可以在此处查看 CCSID 1153(字符集 1375)中包含的符号:ftp://ftp.software.ibm.com/software/globalization/gcoc/attachments/CS01375.pdf

如果数据库字段包含 CCSID 37,您将无法存储 1153 中缺少 CCSID 的字符。通用字符将被转换。您可以尝试更改数据库以使用 UTF-16 或 CCSID 1200。其中包含 CCSID 37 和 CCSID 1153 中的所有字符。

关于java - AS400 上的 DB2 与 jt400 的编码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37409928/

相关文章:

java - AS400 Java运行时文件设置库

java - SearchEventListener 不是抽象的,不会重写抽象方法 actionPerformed

java - java中有什么好的持久集合框架?

sql - RPG 编程中不允许使用 null 值吗?

java - 在带有 Java/JDBC 的 Oracle PL/SQL 中使用游标并获取结果

Java连接OracleDB : java. sql.SQLRecoverableException: IO error: The pipe has been cut

java - 导出文件编码问题

java - String.replace 和同一方法多次调用

java - HQL 子字符串最后 x 个字符

java - 连接 mysql 服务器失败