IBM iからFTPのMGETコマンドでファイルを取得した際に文字化けが発生する
WindowsからIBM i上に存在するソースコードをFTPで一括して取得しようと考えていますが、
mgetコマンドを使用するとファイル中の日本語部分が文字化けします。
getコマンドを使用した場合はこの問題は起こらず、mgetコマンドを使用したときのみ起こります。
これを文字化けしないで取得する方法はないでしょうか?
実行したFTPコマンドは以下の通りです。
ID
PASSWORD
QUOTE SITE NAMEFMT 1
QUOTE TYPE B 1
CD /QSYS.LIB/QXXXLIB.LIB/TEST.FILE/
PROMPT OFF
MGET *.MBR
QUIT
上記コードのMGET *.MBR
の部分をGET HELLO.MBR
に変えると文字化けが起こりません。
また、IBM i側のファイルの文字コード(CCSID)は5035です。
追記
debugモードでのログを記載します。
ftp> debug
デバッグ オン。
ftp> quote site namefmt 1
---> site namefmt 1
250 NOW USING NAMING FORMAT "1".
ftp> quote type b 1
---> type b 1
200 REPRESENTATION TYPE IS SHIFT JIS KANJI.
ftp> cd /qsys.lib/QXXXSRC.lib/TEST.file/
---> CWD /qsys.lib/QXXXSRC.lib/TEST.file/
250 "/QSYS.LIB/QXXXSRC.LIB/TEST.FILE" IS CURRENT DIRECTORY.
ftp> prompt off
対話モード オフ。
ftp> mget *.mbr
---> TYPE A
---> PORT 192,168,***,***,195,100
---> NLST *.mbr
---> TYPE A
200 REPRESENTATION TYPE IS ASCII NONPRINT.
---> PORT 192,168,***,***,195,101
200 PORT SUBCOMMAND REQUEST SUCCESSFUL.
---> RETR A.MBR
150 RETRIEVING MEMBER A IN FILE TEST IN LIBRARY QXXXSRC.
226 FILE TRANSFER COMPLETED SUCCESSFULLY.
ftp: 197 バイトが受信されました 0.00秒 197000.00KB/秒。
---> PORT 192,168,***,***,195,102
200 PORT SUBCOMMAND REQUEST SUCCESSFUL.
---> RETR B.MBR
150 RETRIEVING MEMBER B IN FILE TEST IN LIBRARY QXXXSRC.
226 FILE TRANSFER COMPLETED SUCCESSFULLY.
ftp: 197 バイトが受信されました 0.00秒 197.00KB/秒。
---> PORT 192,168,***,***,195,103
200 PORT SUBCOMMAND REQUEST SUCCESSFUL.
---> RETR C.MBR
150 RETRIEVING MEMBER C IN FILE TEST IN LIBRARY QXXXSRC.
226 FILE TRANSFER COMPLETED SUCCESSFULLY.
ftp: 41 バイトが受信されました 0.00秒 41000.00KB/秒。
---> PORT 192,168,***,***,195,104
200 PORT SUBCOMMAND REQUEST SUCCESSFUL.
---> RETR D.MBR
150 RETRIEVING MEMBER D IN FILE TEST IN LIBRARY QXXXSRC.
226 FILE TRANSFER COMPLETED SUCCESSFULLY.
ftp: 197 バイトが受信されました 0.00秒 197000.00KB/秒。
ftp> quit
---> QUIT
221 QUIT SUBCOMMAND RECEIVED.