コンソール・モードおよびバッチ・モードでの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文字セット名を調べます。
次の表に、コンソール・モード・コード・ページに対応するOracle文字セットを示します。
表D-1 コンソール・モード(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 |