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 ホスト変数を使用するのが最適です。