NLS_LANGに関するFAQによると、レジストリ上に定義するか、環境変数に定義することになっているようだ。
レジストリに定義する場合
NLS_LANGという名前のエントリがあるそうな。
Oracleバージョン7の場合:
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE
Oracle Databaseバージョン8、8i、および9iの場合:
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMEx\
ここで、"x"はOracleホームを識別する一意の番号です。
HOME0は最初のインストールです。
Oracle Database 10gの場合:
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_
環境変数に定義する場合
「システム・プロパティでシステム環境変数またはユーザー環境変数として設定」とあるが、Windows 10ではおおよそこんな手順:
- スタートメニュー→設定
- 設定画面を開いたら、上の検索窓に「環境変数」って入力しちゃったほうが早い。
もしもwebサーバー上でphpとかサーバープログラムを動かすのであれば、「システム環境変数の編集」を選択することを強くおすすめする。(どっちを選んでも、開く画面が同じで、開いた画面上の操作によってユーザー環境変数化システム環境変数かを選択することになる。)
ありがちなパターン
さすが、SHIFT THE ORACLEさんにちゃんと書いてあった。
マルチバイト・キャラクタセット - オラクル・Oracleをマスターするための基本と仕組み
- Japanese_Japan.AL32UTF8 -- LANG=ja_JP.UTF-8 の場合
- Japanese_Japan.JA16SJIS または JA16SJISTILDE -- いわゆるSJIS、全角「~」の互換性対策のために後者を使うケースが有る。
- Japanese_Japan.JA16EUC または JA16EUCTILDE -- いわゆるEUC、全角「~」の互換性対策のために後者を使うケースが有る。
以上、個人的メモ。