posts - 188,comments - 176,trackbacks - 0

          oracle 字符集的參數(shù) nls_lang

          nls_lang
          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)用程序使用的字符集


          2. 查看 NLS_LANG 的方法
          Windows使用:
          注冊(cè)表HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMExx\NLS_LANG查看
          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;


          4. 查看數(shù)據(jù)庫(kù)可用字符集參數(shù)設(shè)置
          SELECT * FROM v$nls_valid_values;


          5. 客戶端 NLS_LANG 的設(shè)置方法
          Windows:
          # 常用中文字符集
          NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
          # 常用unicode字符集
          NLS_LANG=american_america.AL32UTF8
          可以通過(guò)修改注冊(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


          =================================================================================
          [Q]怎么樣查看數(shù)據(jù)庫(kù)字符集  
          [A]數(shù)據(jù)庫(kù)服務(wù)器字符集select * from nls_database_parameters,其來(lái)源于props$,是表示數(shù)據(jù)庫(kù)的字符集。

          客戶端字符集環(huán)境select * from nls_instance_parameters,其來(lái)源于v$parameter,表示客戶端的字符集的設(shè)置,可能是參數(shù)文件,環(huán)境變量或者是注冊(cè)表。

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

          客戶端的字符集要求與服務(wù)器一致,才能正確顯示數(shù)據(jù)庫(kù)的非Ascii字符。如果多個(gè)設(shè)置存在的時(shí)候,alter session>環(huán)境變量>注冊(cè)表>參數(shù)文件

          字符集要求一致,但是語(yǔ)言設(shè)置卻可以不同,語(yǔ)言設(shè)置建議用英文。如字符集是zhs16gbk,則nls_lang可以是American_America.zhs16gbk。


          posted on 2009-07-17 21:07 cheng 閱讀(1633) 評(píng)論(1)  編輯  收藏 所屬分類(lèi): Oracle

          FeedBack:
          # re: oracle 字符集的參數(shù)nls_lang
          2013-04-02 21:49 | digdeep126
          "客戶端的字符集要求與服務(wù)器一致,才能正確顯示數(shù)據(jù)庫(kù)的非Ascii字符。"
          好像不對(duì),客戶端的字符集要和你客戶端實(shí)際使用的字符集一直。不是要和數(shù)據(jù)庫(kù)服務(wù)器一致。  回復(fù)  更多評(píng)論
            
          主站蜘蛛池模板: 房产| 德安县| 措美县| 定安县| 武威市| 花莲市| 卓资县| 尖扎县| 文水县| 犍为县| 尼勒克县| 林州市| 百色市| 平原县| 波密县| 新兴县| 三穗县| 廉江市| 上饶县| 萍乡市| 永修县| 疏勒县| 尼玛县| 平昌县| 永德县| 连云港市| 泗阳县| 乃东县| 涿鹿县| 浑源县| 威远县| 锦州市| 湾仔区| 南陵县| 安康市| 贵南县| 琼中| 新和县| 郎溪县| 邻水| 武穴市|