【发布时间】:2015-08-19 14:13:03
【问题描述】:
我们需要将数据从 IBM i (AS400) 系统发送到大型机系统。数据是中英文字符的组合。我们使用 JDBC 驱动程序连接到 AS400 并使用 Spring 批处理写入数据。主机团队已经确认他们这边使用的代码页是CP935的汉字栏目。所以在spring设置ItemWriter的encoding属性时,我们使用了Cp935,它们能够正确破译中文字符的Hex值,但文件中的英文字符在其末尾不清晰。
有没有什么办法可以在单个文件中进行多种编码,例如英文栏的Cp037和中文栏的Cp935?
我们正在使用直接连接将文件发送到大型机? C:D 是否有可能我更改他的代码页?
【问题讨论】:
-
数据库是否支持Unicode?代码页有点陈旧。
-
这不都归结为您尝试使用的字符编码吗?
-
他们在大型机(将处理您的文件的编程语言)中用什么阅读它?如果他们只是“查看”数据(ISPF 浏览/查看/编辑),它将不会在一条记录中显示不同的字符集。您已经在 Linux/Unix/Windows 上编写了一些东西来连接到 IBM i,然后再连接到 IBM z?你不让他们更直接地互相交谈有什么特别的原因吗?
-
@Bill ,我们从中读取的系统是遗留系统。所以所有进出系统的数据都是通过我们的 Spring 批处理应用程序传递的。还有一个更正(如果有帮助的话)我们通过 JDBC 连接到 DB2 以从 AS400 读取
-
过去我们使用shift-out shift-in来拥抱双字节汉字。移出移入以外的都是英语
标签: java encoding mainframe connect-direct