Z/OSホストシェルでASCIIファイルにタグを付けようとしているので、コマンドラインでコードページを指定する必要はありません。
> echo > iso.txt
> chtag -t -c 819 iso.txt
> vi iso.txt
「こんにちは」と入力し、終了して保存します
> ls -T iso.txt
t ISO8859-1 T=on iso.txt
> od -x iso.txt
0000000000 C885 9393 9615
iso.txt
ファイルを調べると、EBCDICが含まれていることがわかります。
コードページのタグ属性を利用するようにツールを設定するにはどうすればよいですか? -W filecodeset=819
を使用してコードページを明示的に指定すると機能することに注意してください。
タグ付けに基づいて自動変換を行うためのサポートメカニズムがあります。あなたが興味を持っていることをするために、私はあなたのシナリオを私のz/OS2.3システムに複製しました。目的を達成するには、_BPXK_AUTOCVT=ON
を設定できます。提供されたテストケースを繰り返し、_BPXK_AUTOCVT=ON
を設定して、目的の動作が機能することを示しました。
$ echo > iso.txt
$ chtag -t -c 819 iso.txt
$ ls -T iso.txt
t ISO8859-1 T=on iso.txt
$ vi iso.txt (enter Hello, save then exit)
$ od -x iso.txt
0000000000 C885 9393 9615
0000000006
ファイルに819のタグを付けたにもかかわらず、WordHelloはEBCDICとして格納されます。
次に、_BPXK_AUTOCVT=ON
を設定すると、自動変換が有効になります。
$ export _BPXK_AUTOCVT=ON
$ echo > iso.txt
$ chtag -t -c 819 iso.txt
$ vi iso.txt (enter Hello, save then exit)
$ od -X iso.txt
0000000000 48656C6C 6F0A0000
0000000006
ここで、自動変換関数がテキストを正しいコードセットに保存したことがわかります。
参照: