NLS_LANG設置

NLS_LANG 參數組成

NLS_LANG參數由以下部分組成
NLS_LANG=<Language><Territory>.<Clients Characterset>
NLS_LANG各部分含義定義如下:
Language指定:

  1. Oracle消息使用的語言
  2. 日期中月份和日顯示
    Territory指定:
  3. 貨幣和數字格式
  4. 地區(qū)和計算星期及日期的習慣
    Characterset控制客戶端應用程序使用的字符集
    通常設置或者等于客戶端(如windows)代碼頁
    在Windows上查看當前系統(tǒng)的代碼頁可以使用chcp命令:
C:\Users\Jowell>chcp
代碼頁 國家(地區(qū))或語言
437 美國
708 阿拉伯文(ASMO 708)
720 阿拉伯文(DOS)
850 多語言(拉丁文 I)
852 中歐(DOS) - 斯拉夫語(拉丁文 II)
855 西里爾文(俄語)
857 土耳其語
860 葡萄牙語
861 冰島語
862 希伯來文(DOS)
863 加拿大 - 法語
865 日耳曼語
866 俄語 - 西里爾文(DOS)
869 現代希臘語
874 泰文(Windows)
932 日文(Shift-JIS)
936 中國 - 簡體中文(GB2312)
949 韓文
950 繁體中文(Big5)
1200 Unicode
1201 Unicode (Big-Endian)
1250 中歐(Windows)
1251 西里爾文(Windows)
1252 西歐(Windows)
1253 希臘文(Windows)
1254 土耳其文(Windows)
1255 希伯來文(Windows)
1256 阿拉伯文(Windows)
1257 波羅的海文(Windows)
1258 越南文(Windows)
20866 西里爾文(KOI8-R)
21866 西里爾文(KOI8-U)
28592 中歐(ISO)
28593 拉丁文 3 (ISO)
28594 波羅的海文(ISO)
28595 西里爾文(ISO)
28596 阿拉伯文(ISO)
28597 希臘文(ISO)
28598 希伯來文(ISO-Visual)
38598 希伯來文(ISO-Logical)
50000 用戶定義的
50001 自動選擇
50220 日文(JIS)
50221 日文(JIS-允許一個字節(jié)的片假名)
50222 日文(JIS-允許一個字節(jié)的片假名 - SO/SI)
50225 韓文(ISO)
50932 日文(自動選擇)
50949 韓文(自動選擇)
51932 日文(EUC)
51949 韓文(EUC)
52936 簡體中文(HZ)
65000 Unicode (UTF-7)
65001 Unicode (UTF-8)

下表列出了所有支持的代碼頁及其國家(地區(qū))或者語言:

代碼頁 國家(地區(qū))或語言
437 美國
708 阿拉伯文(ASMO 708)
720 阿拉伯文(DOS)
850 多語言(拉丁文 I)
852 中歐(DOS) - 斯拉夫語(拉丁文 II)
855 西里爾文(俄語)
857 土耳其語
860 葡萄牙語
861 冰島語
862 希伯來文(DOS)
863 加拿大 - 法語
865 日耳曼語
866 俄語 - 西里爾文(DOS)
869 現代希臘語
874 泰文(Windows)
932 日文(Shift-JIS)
936 中國 - 簡體中文(GB2312)
949 韓文
950 繁體中文(Big5)
1200 Unicode
1201 Unicode (Big-Endian)
1250 中歐(Windows)
1251 西里爾文(Windows)
1252 西歐(Windows)
1253 希臘文(Windows)
1254 土耳其文(Windows)
1255 希伯來文(Windows)
1256 阿拉伯文(Windows)
1257 波羅的海文(Windows)
1258 越南文(Windows)
20866 西里爾文(KOI8-R)
21866 西里爾文(KOI8-U)
28592 中歐(ISO)
28593 拉丁文 3 (ISO)
28594 波羅的海文(ISO)
28595 西里爾文(ISO)
28596 阿拉伯文(ISO)
28597 希臘文(ISO)
28598 希伯來文(ISO-Visual)
38598 希伯來文(ISO-Logical)
50000 用戶定義的
50001 自動選擇
50220 日文(JIS)
50221 日文(JIS-允許一個字節(jié)的片假名)
50222 日文(JIS-允許一個字節(jié)的片假名 - SO/SI)
50225 韓文(ISO)
50932 日文(自動選擇)
50949 韓文(自動選擇)
51932 日文(EUC)
51949 韓文(EUC)
52936 簡體中文(HZ)
65000 Unicode (UTF-7)
65001 Unicode (UTF-8)

所以chap 936可以設置簡體中文

查看NLS_LANG的方法

  • Windows使用
echo %NLS_LANG%

比如我本機返回SIMPLIFIED CHINESE_CHINA.ZHS16GBK

  • Unix使用
env|grep NLS_LANG

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

Windows客戶端設置,可以在注冊表中更改NLS_LANG,具體鍵值位于:
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMExx\
xx指存在多個ORACLE_HOME時系統(tǒng)編號

查看數據庫服務器字符集

select * from nls_database_parameters; --其來源于props$, 是表示數據庫的字符集

查看數據庫客戶端字符集環(huán)境

select * from nls_instance_parameters; --其來源于v$parameter,

查看數據庫會話字符集環(huán)境

--其來源于v$nls_parameters,表示會話自己的設置,可能是會話的環(huán)境變量或者是alter session完成,如果會話沒有特殊的設置,將與nls_instance_parameters一致。
select * from nls_session_parameters;

查看數據庫當前字符集參數設置

SELECT * FROM v$nls_parameters; 

客戶端 NLS_LANG 的設置方法

  • Windows:
  1. 常用中文字符集
set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK 
  1. 常用unicode字符集
set NLS_LANG=american_america.AL32UTF8 

可以通過修改注冊表鍵值永久設置
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMExx\NLS_LANG

  • Unix:
  1. 常用unicode字符集
export NLS_LANG=american_america.AL32UTF8 
  1. 常用中文字符集
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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 摘要:本文從Unicode入手,介紹由于通信問題而產生的字符集,以及Unicode的發(fā)展情況。介紹各種字符集的及其...
    瘋狂的冰塊閱讀 2,379評論 0 6
  • 雖然是小比賽無論是組織還是補給都不錯,還有現在按摩。快到沖刺的時候給了我很大的驚喜。成績不是最好的,但是跑的很開心...
    QingYuan1980閱讀 256評論 0 1
  • 對于他來說,他是很認真很認真的去喜歡一個女生,然后在時機成熟時和她結婚生子,用小吵小鬧來等待白頭偕老,最后死了都要...
    FezDirk閱讀 293評論 0 0
  • 據說,極簡的生活更會得到幸福。 還記得小時候的你自己嗎?也許你記憶中的自己剛上小學,課間十分鐘拿著兩毛錢買...
    三月橘黃閱讀 447評論 1 4
  • 每一個喜歡你的人,都特別愿意約你出來吃飯,而且這種情況已經不再局限于愛情了。 不知道你們有沒有這樣一種感覺,和自己...
    再見達尼亞閱讀 1,438評論 0 0

友情鏈接更多精彩內容