プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Reports ServicesレポートWeb公開ガイド
12c (12.2.1.2)
E82763-01
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

23.2 グローバリゼーション・サポートの環境変数

グローバリゼーション・サポートの環境変数は、Oracle Fusion Middlewareをインストールする際に、自動的にデフォルト値に設定されます。


注意:

環境切替え機能を使用すると、インストール時に設定されるデフォルトの環境に限定されることがありません。また、1つのReports Serverに対して、言語設定など複数の環境を構成できます。詳細は、第7.2.2項「動的な環境切替え」を参照してください。

表23-1では、Oracle Reports Servicesに関係するグローバリゼーション・サポート関連環境変数を説明します。

表23-1 Oracle Reports Servicesのグローバリゼーション・サポートの環境変数

変数 説明

NLS_LANG

Oracle Reports Servicesに関係します。Oracle Reports Servicesで使用する言語設定。第23.2.1項「NLS_LANG環境変数」を参照してください。

DEVELOPER_NLS_LANG

Oracle Reports Builderで使用される言語。設定されない場合は、NLS_LANGのデフォルト値が使用されます。第23.2.2項「DEVELOPER_NLS_LANG環境変数とUSER_NLS_LANG環境変数」を参照してください。

USER_NLS_LANG

Reports Runtimeで使用される言語。設定されない場合は、NLS_LANGのデフォルト値が使用されます。第23.2.2項「DEVELOPER_NLS_LANG環境変数とUSER_NLS_LANG環境変数」を参照してください。


23.2.1 NLS_LANG環境変数

NLS_LANG環境変数により、Oracle Reports Servicesで使用される言語、地域および文字セットの設定を指定します。具体的には次のとおりです。

  • ユーザーに表示されるメッセージの言語

  • DATEおよびNUMBERデータ型に使用されるデフォルトの書式マスク

  • ソート基準

  • 文字セット


    注意:

    この環境変数は、Oracle Fusion Middlewareをインストールする際に自動的に設定されます。Oracle Fusion Middlewareのインストール後に環境変数を変更する方法の詳細は、第23.2.1.1項「NLS_LANG環境変数の定義」を参照してください。

NLS_LANGの構文は、次のとおりです。

NLS_LANG=language_territory.charset

各値は次のように定義されます。

  • language

    メッセージ(エラー・メッセージを含む)および月と曜日の名前を表示する言語とその表記規則を指定します。言語を指定しない場合は、その値がデフォルトで米語に設定されます。第23.2.1.2項「言語および地域の定義」を参照してください。

  • territory

    地域を指定し、デフォルトの日付書式、数値に使用される小数点記号、通貨記号、および週番号と曜日番号の計算に使用される表記規則も指定します。地域を指定しない場合は、その値がデフォルトでアメリカに設定されます。第23.2.1.2項「言語および地域の定義」を参照してください。

  • charset

    データを表示するキャラクタ・セットを指定します。これは、使用する言語とプラットフォームに適合するキャラクタ・セットにする必要があります。このオプションは、メッセージの表示に使用するキャラクタ・セットも指定します。第23.2.1.3項「キャラクタ・セットの定義」を参照してください。


    注意:

    Oracle Portal Security、Portal Destination、Job Status Repositoryなどの機能を使用すると、Oracle Reports Servicesによって確立されたJDBCデータベース接続がNLS_LANGの初期設定よりも優先されることがあります。これにより、PDF出力のアジア言語でのエイリアシングなどの、実行中のレポートの動作に影響が及ぶ場合があります。第7.2.2項「動的な環境切替え」で説明しているように、UNIXプラットフォームでは、環境切替え機能を使用してレポートの環境を動的に設定することで、この問題を回避できます。

NLS_LANGの設定では、(基本的に)同じ言語を使用する各国間の地域的な違いを考慮する必要があります。たとえば、フランスで使用されているフランス語で実行する場合は、NLS_LANG環境変数を次のように設定します。

NLS_LANG=FRENCH_FRANCE.WE8ISO8859P1

一方、スイスで使用されているフランス語で実行する場合は、NLS_LANG環境変数を次のように設定します。

NLS_LANG=FRENCH_SWITZERLAND.WE8ISO8859P1

注意:

showjobs、showenvなどのrwservletページ、オンライン・ヘルプおよびエラー・メッセージの言語は、NLS_LANGではなく、中間層マシンのロケール(UNIXの場合はLANG)によって決まります。たとえば、中間層のロケールがフランス語に設定されており、NLS_LANG=JAPANESE_JAPAN.JA16SJISの場合、showjobsまたはエラー・メッセージは、日本語ではなくフランス語で表示されます。

23.2.1.1 NLS_LANG環境変数の定義

WindowsまたはUNIXのオペレーティング・システムでは、NLS_LANG環境変数を他の環境変数と同じ方法で定義します。

23.2.1.1.1 Windows

WindowsでNLS_LANG環境変数を定義する手順は、次のとおりです。

  1. Windowsのレジストリを開きます。


    注意:

    レジストリは、バックアップを作成してから編集してください。

  2. 「HKEY_LOCAL_MACHINE」ノードを拡張し、次に「SOFTWARE」ノードを拡張します。

  3. 「Oracle」ノードを拡張し、次にOracle Reports Servicesの「HOME」ノードをクリックして、レジストリ・エディタの右側のパネルにOracle環境変数を表示します。

  4. NLS_LANG環境変数をダブルクリックします。

  5. 「値」データ・テキスト・ボックスにNLS_LANGの新しい値を入力します。

  6. 「OK」をクリックします。

23.2.1.1.2 UNIX

UNIXプラットフォームでNLS_LANG環境変数を定義するには、ORACLE_INSTANCE/config/reports/binディレクトリにあるシェル・スクリプトreports.shでその環境変数を設定します。

23.2.1.2 言語および地域の定義

文字セットによって各言語に必要な個別の文字が使用可能になると同時に、各国の表記規則がサポートされることで、データ項目が正しくローカライズされて表示されます。

指定の言語では、次の要素についてデフォルトの表記規則が決まります。

  • Oracle Reports ServicesのメッセージおよびOracle Databaseからのメッセージの言語

  • 月と曜日の名前およびそれらの省略形(SQLファンクションのTO_CHARおよびTO_DATEで指定)の言語

  • AM、PM、ADおよびBCを表す記号

  • ORDER BYを指定したときのデフォルトのソート基準(ORDER BYが指定されないかぎり、GROUP BYではバイナリ・ソートが使用されます)

  • 表記の方向(右から左と左から右)

たとえば、言語をフランス語に設定すると、英語による次のメッセージがフランス語に変換されます。

English:
ORA-00942: table or view does not exist
REP-0110: Unable to open file.

French:
ORA-00942: table ou vue inexistante
REP-0110: Impossible d'ouvrir le fichier

指定された地域によって、次のような日付および数値のデフォルトの書式特性に関する表記規則が決まります。

  • 日付書式

  • 小数点記号および桁グループ・セパレータ

  • 各国通貨記号

  • ISO通貨記号

  • 週を開始する曜日

  • 貸方と借方の記号

  • ISO週フラグ

  • リスト・セパレータ

たとえば、地域をフランスに設定すると、カンマを小数点記号として数値が書式設定されます。

23.2.1.3 キャラクタ・セットの定義

グローバリゼーション・サポート環境変数の文字セット・コンポーネントでは、各自の環境でデータを表す際に使用される文字セットを指定します。ある文字セットを使用するシステムから別の文字セットを使用するシステムにデータが転送されると、転送先のシステムでそのデータが処理され、正しく表示されます。ただし、一部の文字が文字セットの別のバイナリ値で表される場合があります。

23.2.1.3.1 キャラクタ・セットの設計上の考慮事項

多言語対応アプリケーション、または単一言語対応であっても複数の文字セットを使用するアプリケーションを設計する場合は、実行時に最も広く使用される文字セットを決定し、NLS_LANG環境変数をその文字セットに設定する必要があります。

ある文字セットで設計されたアプリケーションを別の文字セットで実行すると、パフォーマンスに問題が生じる可能性があります。さらに、設計時の文字セットの文字の一部が実行時の文字セットに含まれていない場合は、認識されない文字の部分に疑問符が表示されます。

23.2.1.3.2 フォント・エイリアシングの考慮事項

特定のフォントを使用して多言語アプリケーションを作成しても、実行してみると別のフォントが使用されている場合があります。この問題は、多くの場合、西ヨーロッパ圏以外の言語環境で英語フォント(MS Sans SerifやArialなど)を使用すると発生します。この問題が起こる理由は、フォントに関連付けられている文字セットと言語環境変数によって指定された文字セットとが一致しているかを、Oracle Reports Servicesがチェックするためです。2つの文字セットが一致しないと、Oracle Reports Servicesによって、言語環境変数で指定された文字セットが関連付けられている別のフォントに自動的に置換されます。この自動置換によって、データベースから返されるデータがアプリケーション内で正しく表示されます。


注意:

英語フォントを使用して各国語の文字を入力すると、Windowsでは暗黙的に別のフォントへの関連付けが行われます。

ただし、このような自動置換が行われないようにする場合もあります。自動置換が行われないようにするには、希望するすべてのフォントを、フォント・エイリアス・ファイル(uifont.ali)内のWE8ISO8859P1文字セットにマッピングします。たとえば、アプリケーションでArialフォントを使用できないときは、フォント・エイリアス・ファイルに次の行を追加します。

ARIAL.....=ARIAL.....WE8ISO8859P1

この例では、すべてのArialフォントを、WE8ISO8859P1文字セットでの同じ値にマップするように指定しています。

フォント・エイリアシングおよびuifont.aliの詳細は、第11.2.2.1項「フォント・エイリアシング」を参照してください。

23.2.2 DEVELOPER_NLS_LANG環境変数とUSER_NLS_LANG環境変数

2か国語のリソース・ファイルとメッセージ・ファイルを同時に使用する必要がある場合は、次の2つの言語環境変数を使用します。これらの環境変数は、Oracle Fusion Middlewareのインストールが完了した後に使用可能となります。

  • DEVELOPER_NLS_LANG

  • USER_NLS_LANG

DEVELOPER_NLS_LANGUSER_NLS_LANGの構文は、NLS_LANG環境変数と同じです。つまり、次のようになります。

DEVELOPER_NLS_LANG=language_territory.charset
USER_NLS_LANG=language_territory.charset

これらの環境変数が設定されない場合は、NLS_LANGのデフォルト値が使用されます。環境変数のDEVELOPER_NLS_LANGおよびUSER_NLS_LANGは、次のような状況のときに、NLS_LANG環境変数のかわりに使用します。

  • Reports Builderを特定の言語(英語など)で使用する一方で、別の言語のアプリケーションを開発する場合。DEVELOPER_NLS_LANGおよびUSER_NLS_LANGの環境変数によって、Oracle Reports BuilderとReports Runtimeで異なる言語設定を使用できます。

  • Oracle Reports Builderのローカル言語バージョンが用意されていない言語で動作するアプリケーションを作成している場合。