Just another IT site ※IT系の記事は当方環境での実施内容となるため実施する場合は自己責任でお願いいたします。At Your Own Risk!! TURN BACK WHILE YOU CAN
PR

LinuxのHULFTでOSの文字コードとは違う文字コードで作成したファイルを配信側設定で 配信側変換や集信側変換にして配信しようとすると

※IT系の記事は当方環境での実施内容となるため実施する場合は自己責任でお願いいたします。スクリプトはAI生成のものも多いのでコピー&ペーストの際は文字コードに注意ください!

OSの文字コードと違っていても「TEXT/無変換」なら送れる

LinuxのHULFTでOSの文字コードとは違う文字コードで作成したファイル(SHIFT_JIS 改行コードはLF)をTEXT、配信側設定で「無変換」で送ると改行コードのみ変更され配信に成功し、中身も文字化けしないでちゃんと読めました。

OSの文字コードと違っていると「TEXT/配信側変換 or 集信側変換」だとエラーが発生する

「配信側変換」や「集信側変換」にして配信しようとすると以下のようなエラーが発生しました。
配信側変換や集信側変換を行う際には送信するファイルはそのOSの文字コードとマッチしたものである必要がありそう。そもそものホスト種(OS)の種類間違いにも気を付ける。
BINARYなら一切の変換を実施せずに送るので何でも送れてしまうので、間違いに気づかない場合あり。

・配信側変換で送信しようしたら集信側で出たエラー
配信側ホスト、またはプロキシサーバでエラーが発生しました。
配信側ホストの履歴を確認してください。プロキシサーバを使用している場合、プロキシサーバの履歴を確認してください。履歴の確認後、適切な処理を行い再度実行してください。
このエラーが発生した場合、詳細エラーコードには配信側ホストのエラーコード、またはプロキシサーバのエラーコードが格納されます。
エラーコードの「内容」および「対処」については、配信側ホスト、またはプロキシサーバのエラーコードのマニュアルを参照してください。
・集信側変換で送信しようしたら集信側で出たエラー
集信したデータのコード変換でエラーが発生しました。
(1) 配信側のフォーマット情報と集信したデータの整合性を確認してください。
(2) 「システム動作環境設定」の「外字未登録時処理(gaijierr)」に"エラーにする(0)"が設定されています。テキスト転送の場合、登録されている外字を確認してください。
(3) 配信側ホストのシステム動作環境設定と集信側ホストの詳細ホスト情報の「漢字コード種」および「日本語規格」が一致しているか確認してください。
(4) 簡易転送の場合、配信側ホストと集信側ホストのシステム動作環境設定の「転送コードセット」および「日本語規格」が一致しているか確認してください。

OSの文字コードと違っていても「TEXT/配信側変換 or 集信側変換」で送れる場合がある

Linux上でSHIFT_JISで作ったファイルでもエラーなく送れるケースがありました。
どうやら「全角を含まなければ」特定の文字コードと判別されないからのようです。

【参考】UTF8で作った文字コードをSHIFT_JISに変換するコマンド

iconv -f UTF8 -t SJIS 変換したいファイル名 > 変換後のファイル名

システム動作環境設定の「転送コードセット(cs4trnsfr)※HULFT Ver.8.1以降に接続した場合に表示」「漢字コード種(knjcode)※HULFT Ver.8.1未満に接続した場合に表示」 【公式】コード変換

OSの文字コードとは別にHULFTが稼働するシステムの文字コードとして設定できる。これと詳細ホストに設定した相手先のコード種でTEXT変換を行っている?

実験

■配信元

OSの文字コード:Linux/UTF8

漢字コード種:SJIS

転送ファイルの文字コード:UTF8

■転送先

OSの文字コード:Windows/SJIS

漢字コード種:SJIS

以上の設定でUTF8/LFのファイルをテキスト/配信側変換で送信したが、改行コードは変換されたものの文字コードはSJISに変換されることなく、UTF8のままだった。双方の漢字コード種が同じSJISだったので、そもそも変換を行わなかったのでは?

タイトルとURLをコピーしました