歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 操作系統環境變量LANG和NLS_LANG的關系

操作系統環境變量LANG和NLS_LANG的關系

日期:2017/2/28 14:55:53   编辑:Linux教程

操作系統環境變量針對語言項設置有幾個,我經常設置的是這兩個LANG和NLS_LANG。LANG是針對Linux系統的語言、地區、字符集的設置,對linux下的應用程序有效,如date;NLS_LANG是針對Oracle語言、地區、字符集的設置,對oracle中的工具有效。

例如

Shell script代碼

export LANG=zh_CN.GB2312
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

Trc代碼

$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

Copyright © Linux教程網 All Rights Reserved