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グローバリゼーション・サポート・ガイド』を参照してください。