13 グローバリゼーション・サポート

Oracle Database XEはデフォルトで、サポートされているすべての言語の文字データを同時に処理できるように構成されます。

  • データベースはUnicode AL32UTF8キャラクタ・セットで作成されます。AL32UTF8は、実質的にすべての言語でのデータの格納に適した推奨されるデータベース・キャラクタ・セットです。1文字の値でも複数の言語を混在させることができます。次のようにコマンド・プロンプトからsetup.exeを呼び出せば、サポートされている別のデータベース・キャラクタ・セットを使用してデータベースを作成できますが、この方法はお薦めしません。

    setup.exe /v"CHAR_SET=<character_set>"

    ここで、<character_set>は、目的のデータベース・キャラクタ・セットです。サポートされているデータベース・キャラクタ・セットは、Databaseグローバリゼーション・サポート・ガイド付録Aの表A-4およびA-6にリストされています。表A-6のキャラクタ・セットよりも文字レパートリが包括的な表A-4のキャラクタ・セットを使用することをお薦めします。

  • Oracle Database Express Edition (XE)は、Oracle Database Enterprise Edition (EE)が提供するものと同じグローバリゼーション機能をサポートします。

13.1 クライアント接続の言語およびロケール・リファレンスの設定

ロケール・プレファレンスおよびI/Oデバイス・キャラクタ・セットに応じて、Oracle Databaseへのクライアント・アプリケーション接続を構成します。

ロケール・プレファレンスおよびI/Oデバイス・キャラクタ・セットに応じて、Oracle Databaseへのクライアント・アプリケーション接続を構成する必要があります。ロケール・プリファレンスを構成する、アプリケーション固有の方法がない場合は、Oracleデータベースのクライアント接続を構成するために使用する方法は、データベースへの接続に使用する、アクセスするためのAPIによって異なります。アプリケーションのロケール・プリファレンスを構成する前に、アプリケーションのドキュメントを確認してください。

Oracle Call Interface (OCI)を使用してOracle Databaseに接続するアプリケーションの場合、NLS_LANGまたはその他のNLS_で始まる名前のクライアント設定を使用して、Oracle Databaseセッションのロケール規則およびクライアント・キャラクタ・セットを設定します。NLS_LANG値のキャラクタ・セット部分を適切に設定することが重要です。設定するキャラクタ・セットは、I/Oデバイスによって使用されるキャラクタ・セットに対応している必要があり、Microsoft Windowsの場合は、WE8MSWIN1252などのANSIコード・ページ(GUIアプリケーションの場合)、またはUS8PC437などのOEMコード・ページ(コンソール・モードのアプリケーションの場合)のいずれかです。これを行うには、アプリケーションから受け取ったデータのキャラクタ・セットをOCI API側で認識する必要があります。OCIでは、このデータを適切なデータベース・キャラクタ・セットに変換できます。

NLS_LANGおよびその他のNLS設定は、環境変数またはWindowsレジストリ設定のどちらでも指定できます。環境変数の値は、レジストリの値よりも優先されます。

Oracle Universal Installerは、Oracleホームの新規作成時にレジストリのNLS_LANG設定のデフォルト値を設定します。NLS_LANGの値はWindowsのユーザー・インタフェース言語に基づき、これはWindowsのメニュー項目やダイアログ・ボックスのラベルに使用される言語です。

注意:

クライアントのキャラクタ設定が正しく設定されていないと、データ損失の原因になります。

Oracle Databaseへの接続にOracle JDBCを使用するJavaアプリケーションでは、NLS_LANGを使用しません。かわりにOracle JDBCでは、アプリケーションを実行しているJava VMのデフォルトのロケールをOracle Databaseのlanguageとterritoryの設定にマップします。その後、これらの設定を使用して接続済のデータベース・セッションがOracle JDBCで構成されます。Javaは内部的にはUnicodeで動作するため、クライアントのキャラクタ設定は常にUnicodeに設定します。アプリケーションで明示的にこれを変更しないかぎり、Java VMのデフォルト・ロケールは、Java VMを実行しているユーザーのオペレーティング・システムのロケールに従って設定されます。Java VMのデフォルト・ロケールの構成については、Java VMのドキュメントを参照してください。

注意:

3層アーキテクチャのデプロイメントで、データベース・クライアントであるアプリケーション・サーバーには、NLS_LANG値またはJava VMロケールの指定を構成ファイルに設定できます。該当サーバーに付属するドキュメントで確認してください。

関連項目:

ユーザー・ロケール・プリファレンスの構成の詳細は、『Oracle Databaseグローバリゼーション・サポート・ガイド』を参照してください。