如何修改客戶端字符集NLS_LANG


      在訪問Oracle的客戶端安裝Oracle Client過程中並沒有選項選擇Oracle Client的字符集,安裝完畢后在注冊表HKLOCAL_MACHINE\SOFTWARE\ORACLE\KEY_ORACLECLENT_HOME1\可以找到NLS_LANG鍵,值為當前OS的字符集。如簡體系統為:ZHS16GBK,繁體系統為:MSWIN950。可見,Oracle Client(以下簡稱NLS_LANG)在安裝過程中選擇了OS的字符集作為默認的NLS_LANG字符集。

設定NLS_LANG有三種方法:

     a) 修改注冊表:將HKLOCAL_MACHINE\SOFTWARE\ORACLE\KEY_ORACLECLENT_HOME1\下NLS_LANG鍵值改為你要設定的字符集,如將SIMPLIFIED CHINESE_CHINA.ZHS16GBK改為:SIMPLIFIED CHINESE_CHINA.AL32UTF8。這種做法如果無效,即使重新啟動機器后,也沒有生效,NLS_LANG仍使用當初安裝時的OS字符集,就試用第個方法。

     b) 設定環境變量:在My Computer->Properties->Advanced->Environment Variables->System Variables 新增環境變量設置,如:Variable name=NLS_LANG,Variable Value= SIMPLIFIED CHINESE_CHINA.AL32UTF8。這樣NLS_LANG字符集為UTF8,這個NLS_LANG優先序高於注冊表中的NLS。注意:環境變量設在系統變量中(System Vairables),而不是用戶變量(User Vairables)。

    c) 在應用程序運行的Process Session中設定:在程序運行之前,先通過set NLS_LANG=進程Session的字符集。例如:

Oracle數據庫多語言文字存儲解決方案(二)

Echo %nls_lang%,在這個session中,已經設定NLS_LANG字符集為ZHS16GBK。同樣,你也可以新開一個CMD窗口,設定另一種NLS_LANG字符集。這種在session中設定NLS_LANG的優先序高於系統環境變量NLS_LANG。注冊表NLS_LANG、系統環境變量NLS_LANG、Session NLS_LANG的優先序是:Session NLS_LANG > 系統環境變量NLS_LANG > 注冊表NLS_LANG。



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM