`
mikixiyou
  • 浏览: 1086944 次
  • 性别: Icon_minigender_1
  • 来自: 南京
博客专栏
C3c8d188-c0ab-3396-821d-b68331e21226
Oracle管理和开发
浏览量:349596
社区版块
存档分类
最新评论

操作系统环境变量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

 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics