在bash中的z/OS USS上解压缩后,将sh脚本转换为正确代码页的命令是什么?
我的问题是bash中解压的文件的字符集不是UTF8。以下是重现问题的步骤:在bash中的z/OS USS上解压缩后,将sh脚本转换为正确代码页的命令是什么?,bash,jar,character-encoding,zip,zos,Bash,Jar,Character Encoding,Zip,Zos,我的问题是bash中解压的文件的字符集不是UTF8。以下是重现问题的步骤: 将二进制zip文件复制到USS(ftp-bin-put myfile2unzip.zip) 使用jar命令解压:jar-xvf myfile2unzip.zip cat myscript.sh 输出: {Za???a???{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}a???@ 我所尝试的: iconv -f UTF8 -t IBM1047 myscript.sh > m
iconv -f UTF8 -t IBM1047 myscript.sh > myscript.uss
这不起作用,输出文件具有错误的字符集。bash中的jar命令正在解压缩字符集中的文件:ISO8859-1 sh中的jar命令将文件解压缩为UTF8 因此,bash中的正确命令是:
iconv-f ISO8859-1-t UTF8 myscript.sh>myscript.uss我不确定我是否理解您想要实现的目标。在第一篇文章中,您将转换为EBCDIC编码页面(IBM 1047)。在这篇文章中,您将ISO8859-1转换为UTF8,两者都与ASCII有关,而不是与EBCDIC有关。您为什么认为“jar”“在bash shell中运行与在sh shell中运行时的工作方式不同?好吧,jar的提取比例为1:1,即根本没有翻译。您的“iconv”s@phunsoft的工作方式不同。我们开始在sh中使用USS。当您在/bin/sh中解压时,文件将转换为一个字符集(IBM1047)。因此,我们认为在bash中执行相同的命令应该是相同的。然而,在USS中,bash的行为有点不同,因为它将文件提取到字符集ISO8859-1中。因为我们需要在bash中一致地工作,所以我们需要了解解压文件的正确方法是什么,以便结果可以是可用的或可用的因此,我们可以提供一个命令使它们可用。因此需要了解字符集。