コンソール・モードおよびバッチ・モードでのNLS_LANG設定
SQL*Plus、SQL Loader、Import、ExportなどのOracleユーティリティをコマンド・プロンプトから使用する前に、パラメータNLS_LANG
の文字セットを、レジストリで使用されているものとは別の値に設定する必要がある場合があります。
コンソール・モード・ユーティリティに別の文字セットを設定する必要があるのは、コンソール・モードで実行されているプログラムでは、いくつかの例外を除き、GUIモードで実行されているプログラムとは異なるコード・ページ(文字セット)を使用するためです。レジストリでは、デフォルトのOracleホームのNLS_LANG
パラメータは、常に該当するGUIコード・ページに設定されています。コンソール・モード・セッションのNLS_LANG
パラメータが適切に設定されていない場合、文字変換が正しく行われず、エラー・メッセージやデータが破損する可能性があります。
日本語、韓国語、簡体字中国語、繁体字中国語、タイ語およびベトナム語では、コンソール(OEM)コード・ページはGUI(ANSI)コード・ページと同一です。この場合、NLS_LANG
パラメータを設定する必要はありません。他の言語では、影響を受けるユーティリティを起動するのと同じコマンド・プロンプト・ウィンドウでSET NLS_LANG
コマンドを発行し、NLS_LANG
に正しい文字セットの値を設定します。
同様に、バッチ・モードで、バッチ・プロシージャで処理されるファイルの文字セットに応じて、プロシージャの開始時に、SET NLS_LANG
コマンドを挿入し、NLS_LANG
に正しい文字セットの値を設定します。
現在のコンソール・コード・ページを確認するには、コマンド・プロンプト・ウィンドウでCHCP
コマンドを発行します。表示されたコード・ページ番号を使用して、対応するOracle文字セット名を次の表で調べます。
表6-2 コンソール・モード(OEM)コード・ページに対するOracle文字セット
OEMコード・ページ | コンソール・モードのOracle文字セット |
---|---|
437 (US) |
US8PC437 |
737 (ギリシャ語) |
EL8PC737 |
775 (バルト語) |
BLT8PC775 |
850 (多言語ラテンI) |
WE8PC850 |
852 (ラテンII) |
EE8PC852 |
855 (キリル語) |
RU8PC855 |
857 (トルコ語) |
TR8PC857 |
858(多言語ラテンI + 西ヨーロッパ語) |
WE8PC858 |
866 (ロシア語) |
RU8PC866 |
874 (タイ語) |
TH8TISASCII |
932 (日本語(Shift-JIS)) |
JA16SJISTILDE |
936 (簡体字中国語GBK) |
ZHS16GBK |
949 (韓国語) |
KO16MSWIN949 |
950 (繁体字中国語Big5) |
ZHT16MSWIN950 |
1258 (ベトナム語) |
VN8MSWIN1258 |