原文: 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%,如:
-
E:/>echo %NLS_LANG% AMERICAN_AMERICA.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时系统编号。
3. 察看数据库目前字符集参数设置
-
SELECT * FROM v$nls_parameters;
或
select * from nls_database_parameters
或
select userenv(‘language’) from dual;
4. 察看数据库可用字符集参数设置
- SELECT * FROM v$nls_valid_values;
5. 客户端 NLS_LANG 的设置措施
Windows:
-
# 常用中文字符集 set NLS_LANG= SIMPLIFIED CHINESE_CHINA.ZHS16GBK
----注:这个是在“我的电脑”--》属性--》“环境变量”里面设置的。
----有时候,由于客户端和服务端字符集不同,导致通过客户端插入的中文,在服务器上是乱码问题。
----问题原因的解决,就是设置它。 # 常用unicode字符集 set 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
关于Oracle客户端NLS_LANG参数的设置方面的知识就介绍这么多,如果您想了解更多关于Oracle数据库的知识,
可以看一下这里的文章: http://database.51cto.com/oracle/ ,相信一定能够带给您收获的!