我使用 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/