【轉帖】Oracle客戶端NLS_LANG設定

msdnchina發表於2011-04-20

1. NLS_LANG 引數組成
NLS_LANG引數由以下部分組成:
NLS_LANG=_.

NLS_LANG各部分含義如下:
LANGUAGE指定:
-Oracle訊息使用的語言
-日期中月份和日顯示
TERRITORY指定
-貨幣和數字格式
-地區和計算星期及日期的習慣
CHARACTERSET:
-控制客戶端應用程式使用的字符集
通常設定或者等於客戶端(如Windows)內碼表
或者對於unicode應用設定為UTF8

在Windows上檢視當前系統的內碼表可以使用chcp命令:
E:>chcp
活動的內碼表: 936

內碼表936也就是中文字符集 GBK,在Microsoft的官方站點上,我們可以遭到關於936內碼表的具體編碼規則,請參考以下連結:
http://www.microsoft.com/globaldev/reference/dbcs/936.htm


2. 檢視 NLS_LANG 的方法
Windows使用:

echo %NLS_LANG%
如:
E:>echo %NLS_LANG%
AMERICAN_AMERICA.ZHS16GBK

Unix使用:

env|grep NLS_LANG
如:
/opt/oracle>env|grep NLS_LANG
NLS_LANG=AMERICAN_CHINA.ZHS16GBK

Windows客戶端設定,可以在登錄檔中更改NLS_LANG,具體鍵值位於:
HKEY_LOCAL_MACHINESOFTWAREORACLEHOMExx
xx指存在多個ORACLE_HOME時系統編號。


3. 檢視資料庫當前字符集引數設定
SELECT * FROM v$nls_parameters;

select * from nls_database_parameters

select userenv(‘language’) from dual;


4. 檢視資料庫可用字符集引數設定
SELECT * FROM v$nls_valid_values;


5. 客戶端 NLS_LANG 的設定方法
Windows:
# 常用中文字符集
set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
# 常用unicode字符集
set NLS_LANG=american_america.AL32UTF8
可以透過修改登錄檔鍵值永久設定
HKEY_LOCAL_MACHINESOFTWAREORACLEHOMExxNLS_LANG

Unix:
# 常用unicode字符集
export NLS_LANG=american_america.AL32UTF8
# 常用中文字符集
export NLS_LANG="Simplified Chinese_china".ZHS16GBK
可以編輯 bash_profile 檔案進行永久設定
vi .bash_profile
NLS_LANG="Simplified Chinese_china".ZHS16GBK export NLS_LANG
# 使 bash_profile 設定生效
source .bash_profile

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/161195/viewspace-1048928/,如需轉載,請註明出處,否則將追究法律責任。

相關文章