使用iconv从UTF-8转换为IBM-273时的换行问题

时间:2019-07-04 07:49:23

标签: mainframe iconv jcl

我正在使用JCL将文件/数据集从USS复制到MVS,下一步应将其从UTF-8转换为IBM-273。通常可以使用,但是使用“ \ n ”设置的换行符将转换为“ ”。

这样转换:

CONV  EXEC PGM=EDCICONV,PARM=('FROMCODE(UTF-8),TOCODE(IBM-273)') 

希望获得一些输入!

1 个答案:

答案 0 :(得分:0)

如果我没记错的话,EDCICONV程序将不会使用\ n或\ r \ n将文件拆分为单独的记录,而您最终会得到一条长记录。

您可以做些不同,首先在USS中将UTF-8文件转换为IBM。 使用以下命令:

iconv -f UTF-8 -t IBM-273 /path/to/inputFile.txt > /path/to/outputFile.txt

然后使用以下命令将此转换后的文件移动到mvs:

cp -W "seqparms='RECFM=VB,LRECL=1000'" /path/to/outputFile.txt "//'DATA.SET.NAME'"

以您指定的DCB参数LRECL和RECFM为例。 您也可以使用OCOPY JCL程序来复制它。我想它应该是相同的。

另一种选择是创建一个Java程序,该程序会将数据集从utf-8转换为ibm-273。