LANG是针对Linux系统的语言、地区、字符集的设置,对linux下的应用程序有效,如date;NLS_LANG是针对Oracle语言、地区、字符集的设置,对oracle中的工具有效
例如:
代码如下:
export LANG=zh_CN.GB2312
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
$export LANG=zh_CN.GB2312
$date
2012年 11月 27日 星期二 16:20:35 CST
显示是中文界面。
代码如下:
$export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
$sqlplus / as sysdba
SQL*Plus: Release 10.2.0.4.0 - Production on Tue Nov 27 16:19:03 2012
Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options
SQL》 select sysdate from dual;
SYSDATE
------------
27-NOV-12
显示的是英文环境,但只对ORACLE程序生效。
Linux系统中关于环境变量的LANG设置主要有下列项目:
代码如下:
[root@blliu tmp]# locale
(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/diannaorumen/)LANG=zh_CN.gb2312
LC_CTYPE=zh_CN.gb2312
LC_NUMERIC=zh_CN.gb2312
LC_TIME=zh_CN.gb2312
LC_COLLATE=zh_CN.gb2312
LC_MONETARY=zh_CN.gb2312
LC_MESSAGES=zh_CN.gb2312
LC_PAPER=zh_CN.gb2312
LC_NAME=zh_CN.gb2312
(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/diannaorumen/)LC_ADDRESS=zh_CN.gb2312
LC_TELEPHONE=zh_CN.gb2312
LC_MEASUREMENT=zh_CN.gb2312
LC_IDENTIFICATION=zh_CN.gb2312
LC_ALL=
这里LC_ALL没有设置,如果它设置了,上面所有的设置都无效的,系统会读取LC_ALL。
locale -a 查看本地字符集
locale -m 查看所有支持的字符集
在Oracle数据库中查NLS_LANG设置:
代码如下:
SQL》 SELECT *
2 FROM DATABASE_PROPERTIES
3 WHERE PROPERTY_NAME IN
4 (‘NLS_LANGUAGE’, ‘NLS_TERRITORY’, ‘NLS_CHARACTERSET’);
PROPERTY_NAME PROPERTY_VALUE DESCRIPTION
------------------------------ ------------------------------ --------------------
NLS_LANGUAGE AMERICAN Language
NLS_TERRITORY AMERICA Territory
上面就是Linux环境变量LANG和NLS_LANG的区别介绍了,LANG主要影响的是Linux系统,NLS_LANG则是对oracle有效,对于非英语的字符集,NLS_LANG的设置非常重要。