系统之家官网 网站地图| TAG标签| RSS订阅| 加入收藏

比较LANG和NLS_LANG在Linux中有哪些用途

比较LANG和NLS_LANG在Linux中有哪些用途
更新时间:2024-10-26 18:34 系统大小: 系统类型:其他教程
授权方式: 系统语言: 系统位数:
系统品牌: 系统版本:

安全检测:

推荐星级:

详细介绍

在设置Linux环境变量中LANG和NLS_LANG是最容易见到的,那样LANG和NLS_LANG有什么不同呢?下面将通过例子来给大伙做个不同比较,一块儿认识下吧。

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的设置尤为重要。

下载地址