posts - 188,comments - 176,trackbacks - 0

          oracle 字符集的參數 nls_lang

          nls_lang
          1. NLS_LANG 參數組成
          NLS_LANG參數由以下部分組成:
          NLS_LANG=<Language>_<Territory>.<Clients Characterset>
          NLS_LANG各部分含義如下:
          LANGUAGE指定:
          -Oracle消息使用的語言
          -日期中月份和日顯示
          TERRITORY指定
          -貨幣和數字格式
          -地區和計算星期及日期的習慣
          CHARACTERSET:
          -控制客戶端應用程序使用的字符集


          2. 查看 NLS_LANG 的方法
          Windows使用:
          注冊表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客戶端設置,可以在注冊表中更改NLS_LANG,具體鍵值位于:
          HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMExx\
          xx指存在多個ORACLE_HOME時系統編號。


          3. 查看數據庫當前字符集參數設置
          SELECT * FROM v$nls_parameters;


          4. 查看數據庫可用字符集參數設置
          SELECT * FROM v$nls_valid_values;


          5. 客戶端 NLS_LANG 的設置方法
          Windows:
          # 常用中文字符集
          NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
          # 常用unicode字符集
          NLS_LANG=american_america.AL32UTF8
          可以通過修改注冊表鍵值永久設置
          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 文件進行永久設置
          vi .bash_profile
          NLS_LANG="Simplified Chinese_china".ZHS16GBK export NLS_LANG
          # 使 bash_profile 設置生效
          source .bash_profile


          =================================================================================
          [Q]怎么樣查看數據庫字符集  
          [A]數據庫服務器字符集select * from nls_database_parameters,其來源于props$,是表示數據庫的字符集。

          客戶端字符集環境select * from nls_instance_parameters,其來源于v$parameter,表示客戶端的字符集的設置,可能是參數文件,環境變量或者是注冊表。

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

          客戶端的字符集要求與服務器一致,才能正確顯示數據庫的非Ascii字符。如果多個設置存在的時候,alter session>環境變量>注冊表>參數文件

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


          posted on 2009-07-17 21:07 cheng 閱讀(1626) 評論(1)  編輯  收藏 所屬分類: Oracle

          FeedBack:
          # re: oracle 字符集的參數nls_lang
          2013-04-02 21:49 | digdeep126
          "客戶端的字符集要求與服務器一致,才能正確顯示數據庫的非Ascii字符。"
          好像不對,客戶端的字符集要和你客戶端實際使用的字符集一直。不是要和數據庫服務器一致。  回復  更多評論
            
          主站蜘蛛池模板: 新乡县| 准格尔旗| 宜都市| 资源县| 兴城市| 六枝特区| 苏尼特左旗| 凯里市| 大姚县| 连州市| 乌鲁木齐市| 中阳县| 航空| 鲁甸县| 南雄市| 昆山市| 连南| 全州县| 新绛县| 石嘴山市| 黑山县| 遂川县| 石渠县| 定南县| 邳州市| 兴文县| 定兴县| 临桂县| 璧山县| 图木舒克市| 东乌珠穆沁旗| 若尔盖县| 焉耆| 岱山县| 六安市| 湖南省| 阳信县| 衡阳县| 安溪县| 房山区| 略阳县|