转:Oracle客户端NLS_LANG参数的设置详解

原文:http://database.51cto.com/art/201107/279361.htm

 

         我们知道,Oracle客户端语言支持可以通过NLS_LANG参数的设置来完成,不同的系统平台上NLS_LANG参数的设置会有所不同。

本文我们首先介绍了NLS_LANG参数的构成,然后介绍了Oracle客户端NLS_LANG参数在Windows平台和Unix平台上的设置,现在我们开始介绍这一部分内容。

 

1. NLS_LANG 参数构成

NLS_LANG参数由以下局部构成:NLS_LANG=<Language>_<Territory>.<Clients Characterset>,NLS_LANG各局部含义如下:

LANGUAGE指定:

  • Oracle消息利用的语言
  • 日期中月份和日揭示

TERRITORY指定:

  • 货币和数字款式
  • 地区和计算礼拜即日期的适应

CHARACTERSET:扼制客户端利用过程利用的字符集。

在Windows上察看目前系统的代码页能够利用chcp:E:/>chcp,行动的代码页: 936。代码页936也即便中文字符集GBK。

 

2. 察看NLS_LANG 的方法

Windows利用echo %NLS_LANG%,如:

  1. E:/>echo %NLS_LANG%  
    
     
    
    AMERICAN_AMERICA.ZHS16GBK 

     

Unix利用env|grep NLS_LANG,如:

  1. /opt/oracle>env|grep NLS_LANG  
    
     
    
    NLS_LANG=AMERICAN_CHINA.ZHS16GBK 

     

Windows客户端设置能够在登记表中改动NLS_LANG,注册表键值位于:HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/HOMExx/,xx指存在多个ORACLE_HOME时系统编号。

 

3. 察看数据库目前字符集参数设置

  1. SELECT * FROM v$nls_parameters;

    select * from nls_database_parameters

    select userenv(‘language’) from dual;

     

4. 察看数据库可用字符集参数设置

  1. SELECT * FROM v$nls_valid_values; 

 

5. 客户端 NLS_LANG 的设置措施

Windows:

  1. # 常用中文字符集  
    
     
    
    set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK  

    ----注:这个是在“我的电脑”--》属性--》“环境变量”里面设置的。
    ----有时候,由于客户端和服务端字符集不同,导致通过客户端插入的中文,在服务器上是乱码问题。
    ----问题原因的解决,就是设置它。 # 常用unicode字符集
    set NLS_LANG=american_america.AL32UTF8

     

能够穿越修正登记表键值永远设置:HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/HOMExx/NLS_LANG。

Unix:

  1. # 常用unicode字符集  
    
     
    
    export NLS_LANG=american_america.AL32UTF8  
    
     
    
    # 常用中文字符集  
    
     
    
    export NLS_LANG="Simplified Chinese_china".ZHS16GBK 

     

能够编辑bash_profile 文件举行永远设置:

  1. vi .bash_profile  
    
     
    
    NLS_LANG="Simplified Chinese_china".ZHS16GBK export NLS_LANG  
    
     
    
    # 使bash_profile 设置见效  
    
     
    
    source .bash_profile 

     

   关于Oracle客户端NLS_LANG参数的设置方面的知识就介绍这么多,如果您想了解更多关于Oracle数据库的知识,

可以看一下这里的文章:http://database.51cto.com/oracle/,相信一定能够带给您收获的!

 

 

你可能感兴趣的:(oracle)