Unicode/コードページ環境の設定と管理

このドキュメントでは、次のトピックについて説明します。

表記vr

このドキュメントで使用されている場合、表記vr は 2 桁の ICU バージョン番号を表します。


プロファイルパラメータ

このセクションでは、Unicode およびコードページのサポートとともに使用されるプロファイルパラメータについて説明します。

パラメータ 説明
CP

Natural のデフォルトコードページを定義します。このコードページは、単一のオブジェクト(Natural ソースなど)に対して定義されたコードページがない場合に、ランタイム環境および開発環境に対して使用されます。

プラットフォームに適したコードページのみを使用できます。これは、例えば、Windows、UNIX、または OpenVMS の各プラットフォームには EBCDIC コードページを定義できないことを意味します。

CPCVERR

Unicode からコードページへ、コードページから Unicode へ、または 1 つのコードページから別のコードページへ変換するときに発生する変換エラーが、Natural エラーになるかどうかを指定します。

このパラメータは、Natural ソースをソースエリアにロードするとき、または Natural ソースをカタログするときの Natural ソースの変換には関連しません。

CPOBJIN データのバッチ入力ファイルのエンコードに使用するコードページを指定します。このファイルは、Natural プロファイルパラメータ CMOBJIN で定義されます。
CPPRINT バッチ出力ファイルのエンコードに使用するコードページを指定します。このファイルは、Natural プロファイルパラメータ CMPRINT で定義されます。
CPSYNIN コマンドのバッチ入力ファイルのエンコードに使用するコードページを指定します。このファイルは、Natural プロファイルパラメータ CMSYNIN(Windows、UNIX および OpenVMS)で定義されます。
SRETAIN すべての既存のソースを元のエンコードフォーマットで保存する必要があることを指定します。「環境のカスタマイズ」も参照してください。
SUTF8 Natural ソースが保存されるときに使用されるデフォルトのフォーマットを指定します。

注意:
UNIX および OpenVMS では、このパラメータは SPoD 環境でのみ使用できます。

SUBCHAR Unicode からデフォルトコードページへの変換用の置換文字を指定します。SUBCHAROFF の場合は、ICU によって定義されたデフォルトの置換文字が使用されます。

注意:
SUBCHAR は、コードページから Unicode への変換、または Unicode からデフォルトコードページとは異なるコードページへの変換には影響しません。

WEBIO 入出力に(Unicode をサポートする)Natural Web I/O インターフェイスクライアントか(Unicode に対応していない)端末エミュレーションウィンドウのどちらを使用するかを指定します。

ローカルな Windows 環境では、出力ウィンドウ(Unicode 対応)が使用されます。

リモート Windows 環境では、このパラメータの設定に関係なく、Natural Web I/O インターフェイスクライアントが常に使用されます。

以下の項目も参照してください。

エンコード情報

コードページデータのエンコードは、次に示す異なるレベルで指定できます。

レベル 1 - デフォルトコードページ

デフォルトコードページは、CP パラメータを使用して定義できます。システムコードページを上書きして、すべてのコードページデータに対して有効になります。

レベル 2 - 単一のオブジェクトのコードページ

Natural ソース、バッチ入力(CPOBJINCPSYNIN)、および出力ファイル(CPPRINT)に対してコードページを定義できます。

また、タイプ ASCII、圧縮 ASCII、Unformatted、および CSV のワークファイルに対してコードページを定義できます。『コンフィグレーションユーティリティ』ドキュメントの「ワークファイル割り当て」を参照してください。

コードページがオブジェクトレベルで定義された場合、このコードページによってデフォルトコードページは上書きされます。

重要:
すべてのオブジェクトに対して正しいコードページが定義されることが重要です。詳細については、「既存アプリケーションの移行」を参照してください。

エンコード情報を持つ Natural オブジェクトの展開

エンコード情報がすでに定義された Natural オブジェクトを展開する場合、エンコード情報はファイル FILEDIR.SAG に保存されており、Natural の外部からオブジェクトファイルのみを展開した場合はエンコード情報が失われることに注意する必要があります。

Natural オブジェクトを展開する場合、次のようにエンコード情報を保持できます。

  • ライブラリ全体をコピーできます。その後、ライブラリのコピーをすべての Windows、UNIX、および OpenVMS プラットフォームに分散できます。この場合は、元のコードページが維持されます。ライブラリを Windows から UNIX または OpenVMS にコピーする場合は、Natural for UNIX または Natural for OpenVMS のネイティブエディタでオブジェクトを開くことができない場合があることに注意する必要があります。これらのエディタでは、デフォルトコードページを持つオブジェクトのみを開くことができるためです。

  • エンコード情報を保持するオブジェクトハンドラを使用できます。この場合は、元のコードページが維持されます。Windows ライブラリが UNIX または OpenVMS でアンロードされる場合は、Natural for UNIX または Natural for OpenVMS のネイティブエディタでオブジェクトを開くことができない場合があることに注意する必要があります。これらのエディタでは、デフォルトコードページを持つオブジェクトのみを開くことができるためです。

  • Natural スタジオを使用して、オブジェクトをコピーして貼り付けることができます。SPoD 環境で、ターゲット環境がソース環境とは異なるプラットフォーム上にある場合、Natural はターゲット環境のデフォルトコードページを使用してオブジェクトを保存しようとします。これが不可能な場合、オブジェクトは UTF-8 フォーマットで保存されます。UNIX および OpenVMS ターゲットの場合、このことによって、ソースのすべての文字が UNIX または OpenVMS サーバーのデフォルトコードページで使用可能な場合は、Natural for UNIX または Natural for OpenVMS のネイティブエディタでオブジェクトを開けます。