Oracle客戶端 NLS_LANG 的設(shè)置方法
2024-08-29 13:56:10
供稿:網(wǎng)友
Oracle客戶端NLS_LANG設(shè)置
OracleWindowsMicrosoftUnixBash
1. NLS_LANG 參數(shù)組成
NLS_LANG參數(shù)由以下部分組成:
NLS_LANG=<Language>_<Territory>.<Clients Characterset>
NLS_LANG各部分含義如下:
LANGUAGE指定:
-Oracle消息使用的語(yǔ)言
-日期中月份和日顯示
TERRITORY指定
-貨幣和數(shù)字格式
-地區(qū)和計(jì)算星期及日期的習(xí)慣
CHARACTERSET:
-控制客戶端應(yīng)用程序使用的字符集
通常設(shè)置或者等于客戶端(如Windows)代碼頁(yè)
或者對(duì)于unicode應(yīng)用設(shè)置為UTF8
在Windows上查看當(dāng)前系統(tǒng)的代碼頁(yè)可以使用chcp命令:
E:/>chcp
活動(dòng)的代碼頁(yè): 936
代碼頁(yè)936也就是中文字符集 GBK,在Microsoft的官方站點(diǎn)上,我們可以遭到關(guān)于936代碼頁(yè)的具體編碼規(guī)則,請(qǐng)參考以下鏈接:
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客戶端設(shè)置,可以在注冊(cè)表中更改NLS_LANG,具體鍵值位于:
HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/HOMExx/
xx指存在多個(gè)ORACLE_HOME時(shí)系統(tǒng)編號(hào)。
3. 查看數(shù)據(jù)庫(kù)當(dāng)前字符集參數(shù)設(shè)置
SELECT * FROM v$nls_parameters;
或
select * from nls_database_parameters
或
select userenv('language') from dual;
4. 查看數(shù)據(jù)庫(kù)可用字符集參數(shù)設(shè)置
SELECT * FROM v$nls_valid_values;
5. 客戶端 NLS_LANG 的設(shè)置方法
Windows:
# 常用中文字符集
set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
# 常用unicode字符集
set NLS_LANG=american_america.AL32UTF8
可以通過修改注冊(cè)表鍵值永久設(shè)置
HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/HOMExx/NLS_LANG
Unix:
# 常用unicode字符集
export NLS_LANG=american_america.AL32UTF8
# 常用中文字符集
export NLS_LANG="Simplified Chinese_china".ZHS16GBK
可以編輯 bash_profile 文件進(jìn)行永久設(shè)置
vi .bash_profile
NLS_LANG="Simplified Chinese_china".ZHS16GBK export NLS_LANG
# 使 bash_profile 設(shè)置生效
source .bash_profile