中国黑防联盟

比较LANG和NLS_LANG在Linux中的作用

中国黑防联盟 电脑使用教程 2024-04-28 22:37:19 0
  在设置Linux环境变量中LANG和NLS_LANG是最常见的,那么LANG和NLS_LANG有哪些区别呢?下面将通过例子来给大家做个区别比较,一起来了解下吧。  比较LANG和NLS_LANG在Linux中的作用   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   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”   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的设置非常重要。