查看: 929|回复: 0

[教程] linux操作系统环境变量LANG和NLS_LANG的区别

[复制链接]

5

主题

0

回帖

15

积分

技术1级

金币
10
阅读权限
10
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2011-1-6
QQ
发表于 2013-7-22 07:20:22 | 显示全部楼层 |阅读模式
例如:

复制代码代码如下:
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
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部