きどたかのブログ

いつか誰かがこのブログからトラブルを解決しますように。

USS上に日本語ファイル名でファイルを作る方法

暇つぶしにやってみました。

 

chcpコマンドを使います。

chcp — Set or query ASCII/EBCDIC code pages for the terminal

UNIX System Services Command Referenceより

TSO/E経由でOMVSを触る人は使わないでください。

 

chcp -q

これで現在の設定を確認します。

 

Current ASCII code page = ISO8859-1

Current EBCDIC code page = IBM-1047

普通はこうなってます。

 

ISO8859-1はラテンアルファベットの文字コードの一種です。

Windows-1252と同じと言っていいし、もっとも一般的なASCIIです。

Windows-1252は、アメリカなどのWindows端末で使われてます。

ようするにDBCSが使えません。

 

IBM-1047はEBCDIC文字コードの一種です。

これもラテン1です。

 

chcp -a UTF-8 -e IBM-939

PuTTYやTeraTermなどのターミナルもUTF-8に変えます。

UTF-8の全ての文字が使えるわけではないですが、

一番手っ取り早いのでUTF-8がいいでしょう。

 

IBM-939は日本語が使えるEBCDICの一種です。

常用漢字程度はこれでいけるはずです。

IBM-1399の方が使える漢字は多いです。

 

USS上でDBCSを扱いたいという奇特な人は少ないと思います。

いろいろ考えることがありますからね・・・。

ここまでのところで、日本語ファイル名はできます。

しかし、ファイルの中身は試さなかった・・・。

 

普通はviasciiが入ってないので、USSでDBCSを扱うのは酷です。

IBM z/OS UNIX tools available for download

いちおう、ここからダウンロードしてから使えますが、

ここに置いてあるのはサポートを受けられる代物ではないはずです。

 

IBM z/OS UNIX System Services Ported Tools

こちらに置いてあるツールも、

IBM Ported Tools for z/OSと書いてあるものは正規ルートで入手可能なものですが、

それ以外はタダのおもちゃです。

 

IBM z/OS: PORTED TOOLの無料コードの件 - Japan

そういうことが、このFAQに書いてあります。

若干、ミスリードする記事かも知れませんが、

IBM Ported Tools for z/OSはちゃんとしたものです。

まあ、Perlを使う場合はおもちゃを前提にする部分があるわけですけどね。