启用 UTF-8 到 EBCDIC 编码的站点代码

Site code to enable UTF-8 to EBCDIC encoding

我正在尝试将一个相当大的 UTF-8 文件传输到 Z/OS 数据集。不幸的是,命令

SITE EN=MBCS MBD=(1047,1208) RECFM=VB
TYPE A
STOR STORE.WRK.DATA

回复

504 Multi-byte encoding not supported for RECFM=FB

RECFM=VB 似乎不起作用。

解决方法是在上传前将 UTF-8 重新编码为 ISO-8859-1,但在上传时编码效率更高。

完成这项工作的诀窍可能是多方面的。

首先,相关站点必须在 z/OS 的 Unicode 转换服务中定义从 IBM-1047 到 IBM 1208 的转换。如果不是,则隐藏尝试将失败。

其次,您不能将每个字符代码页的单个字节发送到为此大小的数据集,而是将其转换为每个字符代码页的多字节。如果该数据集中的任何字符增长到两个或三个字节,记录长度将导致失败。所以将它传输到可变记录长度数据集,你会没事的。