OpenESQL のグローバリゼーション ベスト プラクティス

OpenESQL は、COBOL のホスト変数で国際データを使用できるようにさまざまな方法でサポートします。国際データは、DBMS の列に UTF-16、UTF-8、または MBCS (混合バイトまたはマルチバイト文字セット) として格納されます。DBMS クライアント アプリケーションのロケールも国際化することができます。これらは、一般的には MBCS または UTF-8 です。

OpenESQL COBOL アプリケーションがホスト変数に国際データを送信するか、ホスト変数から国際データを返すように DBMS に要求を発行すると、OpenESQL がホスト変数宣言自体と DBMS クライアント アプリケーションのロケールに基づいて、適切な COBOL ホスト変数の内容を決定します。

データの損失を回避するには、DBMS クライアント アプリケーションのロケールを DBMS 向けの国際エンコーディング仕様と一致させ、次のように、最も適切な COBOL ホスト変数宣言を選択することを強く推奨します。

COBOL ホスト変数宣言 DBMS 国際エンコーティング仕様 サマリー
PIC X UTF-16 クライアント アプリケーションのロケール1を使用して、DBMS データがホスト変数に変換されたり、ホスト変数から変換されたりします。

UTF-16 データがご使用のアプリケーションのロケールでサポートされていない場合、データが失われる可能性があります。

PIC X UTF-8 また、クライアント アプリケーションのロケール1が UTF-8 である場合、データの変換または翻訳は行われません。
注: Windows プラットフォームでは、UTF-8 はアプリケーションのロケールとしてサポートされていません。

強く推奨します。

クライアント アプリケーションのロケールが UTF-8 でない場合、クライアント アプリケーションのロケール1 を使用して、DBMS データがホスト変数に変換されたり、ホスト変数から変換されたりします。これにより、データが失われる可能性があります。

PIC X MBCS2 クライアント アプリケーションのロケール1が同じ MBCS2 を使用する場合、データの変換は行われません。

強く推奨します。

クライアント アプリケーションの MBCS が DBMS のそれと一致しない場合、クライアント アプリケーションのロケール1 を使用して、DBMS データがホスト変数に変換されたり、ホスト変数から変換されたりします。これにより、データが失われる可能性があります。

PIC N USAGE DISPLAY-1 PIC G4 UTF-16、UTF-8 クライアント アプリケーションのロケール1を使用して、データがホスト変数に変換されたり、ホスト変数から変換されたりします。

データは、クライアント アプリケーションのロケールの DBCS3に変換されます。これにより、データが失われる可能性があります。

PIC N USAGE DISPLAY-1 PIC G4 MBCS2 クライアント アプリケーションのロケール1が同じ MBCS2 を使用する場合、データの小規模な変換または翻訳が行われます。この場合、DBMS のシングルバイト文字は、クライアント アプリケーションのロケールの DBCS3 に変換されたり、DBCS から変換されたりします。

クライアント アプリケーションの MBCS が DBMS のものと一致しない場合、データが失われる可能性があります。

PIC N USAGE NATIONAL UTF-16 データの変換または翻訳は行われません。

強く推奨します。

PIC N USAGE NATIONAL UTF-8、MBCS2 形式が UTF-16 の場合、DBMS データがホスト変数に変換されたり、ホスト変数から変換されたりします。

データが UTF-8 と MBCS との間でホスト変数の UTF-16 形式に変換されたり、UTF-16 形式から変換されたりするので、データが失われることはありません。

推奨されます。

1コード ページ

2混合バイトまたはマルチバイト文字セットシングルバイト (SBCS) とダブルバイト (DBCS) で表現できる文字を含む混合文字セットをサポートするのに使用します。MBCS は日本、中国、韓国で存在します。たとえば、MBCS 932 は日本語用です。

3ダブルバイト文字セット。DBCS は、MBCS のダブルバイト文字を表す構成要素です。

4ご使用の COBOL プログラムに含まれる PIC N USAGE DISPLAY-1 および PIC G ホスト変数は、常にクライアント アプリケーションのロケールに対応する DBCS を使用します。

例 1

DBMS に MBCS または UTF-8 を格納する場合、クライアント アプリケーションのロケールを同じ値に設定し、COBOL プログラムで PIC X ホスト変数を使用するのが最適です。

例 2

データベースに UTF-16 を格納する場合、COBOL プログラムで PIC N USAGE NATIONAL ホスト変数を使用するのが最適です。