このドキュメントでは、次のトピックについて説明します。
Unicode アプリケーションの開発環境は、Natural Single Point of Development(SPoD)です。
SPoD 環境では、Natural 開発サーバー(NDV)上の Unicode アプリケーションの Natural オブジェクトは、Natural スタジオを使用して変更できます。 サーバーによってサポートされている場合、ソースはクライアントとサーバー間で UTF-8 フォーマットで交換されます。
UNIX および OpenVMS 用の NDV サーバーでは、プロファイルパラメータ SUTF8
の設定によって、Natural オブジェクトをサーバーに保存するときに使用されるフォーマットが決まります。 これは、ローカルの Windows の場合と同様に処理されます。
メインフレーム用の NDV サーバーでは、オブジェクトはデフォルトまたは元のエンコードで保存されます。
Windows、UNIX、および OpenVMS プラットフォームでは、Natural コードを変更する前に、環境に対して正しいデフォルトコードページを定義することが重要です。 詳細については、「既存アプリケーションの移行」を参照してください。
異なる言語の文字をソースに保存する場合、Windows、UNIX、または OpenVMS プラットフォームで UTF-8 フォーマットでソースを保存するか、ソースで 16 進 UH 定数を使用する必要があります。 プロファイルパラメータ SUTF8
および SRETAIN
を使用して、どのフォーマットでソースを保存するかを制御できます。 次の表に、いくつかの状況と推奨設定を示します。
注意:
UNIX および OpenVMS では、パラメータ SUTF8
は SPoD 環境でのみ使用できます。
状況 | 設定 | 効果 |
---|---|---|
ソースは Windows 上にあります。U 定数が必要です。 | SUTF8=ON, SRETAIN=OFF |
Natural 6.2 以降で保存する場合、すべてのソースは UTF-8 フォーマットで保存されます。 新しいソースは UTF-8 フォーマットで作成されます。 すべての文字を 1 つのソースに保存できます。 |
ソースは Windows、UNIX、または OpenVMS 上にあります。U 定数が必要であり、SPoD が開発に使用されます。 | SUTF8=ON, SRETAIN=ON |
元のコードページへの変換が不可能になった場合、すべてのソースは UTF-8 フォーマットで保存されます。可能な場合には、ソースのコードページは変更されません。 新しいソースは UTF-8 フォーマットで作成されます。 すべての文字を 1 つのソースに保存できます。 UTF-8 フォーマットのソースは、SPoD でのみ変更できます。Natural for UNIX または Natural for OpenVMS エディタでは処理できなくなります。 |
ソースは Windows、UNIX、または OpenVMS 上にあります。U 定数は必要ありません。 | SUTF8=OFF, SRETAIN=ON |
すべてのソースは元のコードページで保存されます。 新しいソースは、サーバーのデフォルトコードページで保存されます。 1 つのソースに保存できるのは、ソースコードページからの文字のみです。 ソースは、引き続き Natural for UNIX または Natural for OpenVMS エディタで処理できます。 |
ソースは Windows、UNIX、OpenVMS、またはメインフレーム上にあります。U 定数が必要であり、SPoD が開発に使用されます。 | SUTF8=OFF, SRETAIN=ON |
すべてのソースは元のコードページで保存されます。 新しいソースは、サーバーのデフォルトコードページで保存されます。 1 つのソースに保存できるのは、ソースコードページからの文字のみです。 ソースは、引き続き Natural for UNIX、Natural for OpenVMS、および Natural for Mainframes エディタで処理できます。 すべての Unicode 定数は、16 進定数(UH)として定義される必要があります。 |
パラメータ SUTF8
が "OFF" に設定されており、異なる文字セットの文字を含むが、まだ UTF-8 フォーマットで保存されていないソースを格納する場合、生成プログラムは作成されるが、ソースは保存不可能であり、そのためにソースは変更されないままである場合があります。 これは、異なる文字セットの文字がコメントまたは
U 定数で使用される場合に発生します。 このため、異なる文字セットの文字を含むソースを作成する場合、およびソースをメインフレームプラットフォームに分散する必要がない場合は、パラメータ SUTF8
を "ON" に設定することをお勧めします。
パラメータ SRETAIN
が "OFF" に設定されている場合、すべてのソースはデフォルトコードページで保存されます。 この設定には注意が必要です。以前の Natural バージョンで作成されたソースがある場合、この設定によってコードページ情報が不適切になる可能性があるためです。 この場合、ソースのエンコード情報は割り当てられておらず、ソースは常に現在のコードページで開かれます。
現在のコードページがソースの正しいエンコードではない場合でも、機能する場合があります。 この場合、言語固有の一部の文字は正しく表示されません。 そのようなソースが間違ったコードページで開かれ、SRETAIN
が "ON" に設定された状態で保存された場合、ソースに対してエンコードは保存されません。ソースは、Natural が正しいデフォルトコードページで開始された場合に、後で正しく開くことができます。 ただし、SRETAIN
が "OFF" に設定された状態でソースを保存すると、現在のコードページがソースのエンコードとして保存されます。その後、ソースはこのコードページでのみ開かれます。 このため、この設定は、すべての Natural ソースが現在のコードページでエンコードされていることが確かな場合にのみ使用する必要があります。
『コンフィグレーションユーティリティ』ドキュメントの「地域の設定」も参照してください。
Natural for Windows エディタは、Unicode に完全に対応しています。 SPoD 経由で、メインフレーム、UNIX、および OpenVMS ソースに対しても使用できます。 Natural for Mainframes、Natural for UNIX、および Natural for OpenVMS で提供されるエディタは、Unicode 対応にはならない予定です。
Natural スタジオ(Natural for Windows)のエディタを使用してソースが開かれるとき、ソースの内容は、対応するコードページから Unicode に変換されてから、エディタにロードされます。 このことによって、システムコードページに含まれない文字がソースに含まれている場合でも、すべての文字を正しく表示できることが保証されます。 ソースのコードページから Unicode への変換が失敗した場合は、エラーが表示され、エディタは開かれません。 この場合、ユーザーはソースの正しいエンコードを定義する必要があります。 ソースのエンコードは、[プロパティ]ダイアログボックスで変更できます(『Natural スタジオの使用』ドキュメントの「ノードのプロパティ」を参照)。
Windows、UNIX、および OpenVMS ソースの場合、Natural for Windows エディタによって、異なる言語の文字を含むソースを UTF-8 フォーマットで保存できます。 メインフレームでは、UTF-8 ソースを保存できません。
注意:
UNIX または OpenVMS ソースを UTF-8 フォーマットで、またはデフォルトコードページとは異なるコードページを使用して保存した場合、ソースは Natural for UNIX または Natural for OpenVMS のネイティブエディタで開くことができなくなります。
メインフレームソースは、異なるコードページを使用して保存し、Natural for Mainframes のネイティブエディタで編集できます。
プログラムおよびソース内で Unicode 文字列を使用しない場合でも、Unicode 対応エディタには、インストールされているシステムコードページに関係なく、すべてのコードページのソースを記述できるという利点があります。 例えば、"windows-1252"(Latin 1)コードページをインストールしている場合に、キリル語文字を含むプログラムを記述し、このプログラムを "windows-1251"(キリル語)コードページで保存できます。 [名前をつけて保存]ダイアログボックスで、コードページ "windows-1251" を選択するだけです(『Natural スタジオの使用』ドキュメントの「新しい名前でのオブジェクトの保存」を参照)。
Natural for Windows プログラムエディタを使用して、テキスト定数を 16 進 Unicode 表現に変換できます(Natural for Windows『エディタ』ドキュメントの「プログラムエディタ」セクションの「16 進形式への変換」を参照)。 したがって、UTF-8 ソースが望ましくないプラットフォーム用に開発している場合、Unicode 定数のすべての文字を入力し、定数のすべての文字を選択し、それらを 16 進表示に変換して、Unicode 16 進定数の "UH" 接頭辞を追加できます。 さらに、テキスト定数の文字または選択された文字範囲の上にマウスポインタを置くと、対応する 16 進 Unicode 表現がツールヒントに表示されます。
バイトオーダマーク(BOM)は、データ文字列の先頭の文字コード "U+FEFF" で構成されます。その場所で、主にマークがないプレーンテキストファイルの、バイト順およびエンコード形式を定義する署名として使用できます。 Windows では、バイトオーダマークは一部のエディタ(メモ帳など)によって、UTF-8 ファイルをマークするために使用されます。 Natural for Windows エディタでは、UTF-8 バイトオーダマークはオブジェクトを読み込むときに認識されます。 それまでにオブジェクトに他のエンコードが定義されていない場合は、Natural によって UTF-8 と解釈され、オブジェクトが保存されるときに、UTF-8 がそのオブジェクトのエンコードとして保存されます。 この場合、バイトオーダマークは削除されます。