文字化けしたカタカナを元に戻す

半角カタカナが含まれたテキストなどを編集する際、カナ表記の部分が文字化けした状態で表示される場合があります。このような時は、CAPSコマンドによってアルファベット文字の変換モードを変更します。

CAPSモードは、英文のテキストを編集するかしないかによってON、OFFどちらに設定するかが変わりますが、問題となるのは1バイトのカタカナ文字をデータとして使用する場合です。カタカナ文字を使用しているデータに「CAPS△ON」が設定されている場合、カタカナ文字が含まれる行を修正するとカタカナ文字がアルファベット大文字に変換されて結果として意味不明な文字列になってしまいます(「アカサタナ」は「AFサJO」に化ける)。
これから新たに作るデータであれば、カタカナ文字を使うにしても2バイトのDBCS文字を使用するのがいいでしょう。業務データであれば日本語はDBCS文字を使うのが当たり前になっていますし、アプリケーション・プログラムのソース・コードのコメントなどもDBCS文字で記述することができるようになっています。

元々のEBCDICコードでは、アルファベットの小文字はx81からxA9の範囲に割り当てられていました。日本国内でコンピューターを使い始めた初期に、日本語を扱えるようにするためEBCDIC文字のアルファベットの小文字を犠牲にして、そこにカタカナ文字を割り当てました。そのため、日本では英小文字とカタカナを共存させることができず、カタカナを使用するならCAPSモードはOFFにしておく必要がありました。
しかしながら、後になって新たに追加されたコードページによって英小文字とカタカナ文字が同じコードセットの中で共存できるようになりました。したがって、現在では「CAPS△ON」によって半角カタカナが文字化けするかどうかは、エミュレーターで使用するEBCDICコードページ の設定(*1)で左右されます。ただし、文字化けがなくなるといっても使用するエミュレーターのコードページを個人で安易に変更すべきではありません。特に、古くからメインフレーム・システムを使用している企業の中には、まだまだ多くの業務データに1バイトのカタカナ文字が含まれている場合もあります。そのような場合、エミュレーターのコードページを替えてしまうとデータが正しく表示されなくなってしまいます。表示だけならまだしも、異なるコードページの端末でデータを修正してしまうとデータが壊れてしまうこともあり得ます。

CAPSコマンド(英小文字の大文字変換)

CAPSコマンドは、EBCDIC文字のアルファベット小文字(abcdefg…)を大文字(ABCDEFG…)に変換します。パラメーターを省略するか「CAPS△ON」と設定すれば、データを入力した行にある英小文字が大文字に変換されるようになります(*2)。「CAPS△OFF」と設定すれば文字変換はされません。
なお、英小文字の大文字変換はあくまでも1バイトのEBCDIC文字に対してのみであって、2バイトの日本語文字(DBCS)が変換されることはありません。標準の設定は「CAPS△ON」です。現在のモードは、PROFコマンドで表示することができます。


*1 昔から日本国内で使用されてきたコードページ930では英小文字とカタカナ文字が同じコードに割り当てられているため文字化けするが、後から追加されたコードページ939では英小文字とカタカナ文字が異なるコードに割り当てられているため文字化けしない。
*2 CAPSコマンドを実行しただけでは変換はされない。データの入力や変更を行うと、その行だけが変換されるようになる。