操作系统环境变量LANG和NLS_LANG的关系

转载 2015年07月10日 22:53:02

操作系统环境变量针对语言项设置有几个,我经常设置的是这两个LANG和NLS_LANG。LANG是针对Linux系统的语言、地区、字符集的设置,对linux下的应用程序有效,如date;NLS_LANG是针对Oracle语言、地区、字符集的设置,对oracle中的工具有效。
例如

Shell script代码  收藏代码
  1. export LANG=zh_CN.GB2312  
  2. export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK  

 

 

Trc代码  收藏代码
  1. $export LANG=zh_CN.GB2312  
  2. $date  
  3. 2012年 11月 27日 星期二 16:20:35 CST  
 

显示是中文界面。

 

Trc代码  收藏代码
  1. $export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK  
  2.   
  3. $sqlplus / as sysdba  
  4. SQL*Plus: Release 10.2.0.4.0 - Production on Tue Nov 27 16:19:03 2012  
  5. Copyright (c) 19822007, Oracle.  All Rights Reserved.  
  6. Connected to:  
  7. Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production  
  8. With the Partitioning, Real Application Clusters, OLAP, Data Mining  
  9. and Real Application Testing options  
  10. SQL> select sysdate from dual;  
  11.   
  12. SYSDATE  
  13. ------------  
  14. 27-NOV-12  
 

显示的是英文环境,但只对ORACLE程序生效。



Linux系统中关于环境变量的LANG设置主要有下列项目:

Trc代码  收藏代码
  1. [root@blliu tmp]# locale  
  2. LANG=zh_CN.gb2312  
  3. LC_CTYPE="zh_CN.gb2312"  
  4. LC_NUMERIC="zh_CN.gb2312"  
  5. LC_TIME="zh_CN.gb2312"  
  6. LC_COLLATE="zh_CN.gb2312"  
  7. LC_MONETARY="zh_CN.gb2312"  
  8. LC_MESSAGES="zh_CN.gb2312"  
  9. LC_PAPER="zh_CN.gb2312"  
  10. LC_NAME="zh_CN.gb2312"  
  11. LC_ADDRESS="zh_CN.gb2312"  
  12. LC_TELEPHONE="zh_CN.gb2312"  
  13. LC_MEASUREMENT="zh_CN.gb2312"  
  14. LC_IDENTIFICATION="zh_CN.gb2312"  
  15. LC_ALL=  
 

这里LC_ALL没有设置,如果它设置了,上面所有的设置都无效的,系统会读取LC_ALL。

 

locale -a 查看本地字符集
locale -m 查看所有支持的字符集


在Oracle数据库中查NLS_LANG设置:

 

Sql代码  收藏代码
  1. SQL> SELECT *  
  2.   2    FROM DATABASE_PROPERTIES  
  3.   3   WHERE PROPERTY_NAME IN  
  4.   4         ('NLS_LANGUAGE''NLS_TERRITORY''NLS_CHARACTERSET');  
  5.   
  6. PROPERTY_NAME                  PROPERTY_VALUE                 DESCRIPTION  
  7. ------------------------------ ------------------------------ --------------------  
  8. NLS_LANGUAGE                   AMERICAN                       Language  
  9. NLS_TERRITORY                  AMERICA                        Territory  

LANG和NLS_LANG的区别

LANG是针对Linux系统的语言、地区、字符集的设置。 NLS_LANG是针对Oracle语言、地区、字符集的设置。 LANG=zh_CN.GB2312 NLS_LANG=AMERICAN...
  • gerryke
  • gerryke
  • 2014年10月23日 15:15
  • 873

比较LANG和NLS_LANG在Linux中的作用

在设置Linux环境变量中LANG和NLS_LANG是最常见的,那么LANG和NLS_LANG有哪些区别呢? LANG是针对Linux系统的语言、地区、字符集的设置,对linux下的应用程序有效...
  • konglongaa
  • konglongaa
  • 2016年05月26日 09:49
  • 1536

【转自mos中文文章】Microsoft Windows 环境中NLS_LANG的正确设置

Microsoft Windows 环境中NLS_LANG的正确设置 (Doc ID 1577370.1)
  • msdnchina
  • msdnchina
  • 2014年07月21日 17:52
  • 12335

NLS_LANG环境变量

为了在RHEL5.1上安装oracle10g时,图形安装界面不出现乱码,指定了代表系统语言的环境变量为en_US.UTF-8。这导致oracle将默认创建的数据库实例的字符集设置为WE8ISO8859...
  • Endoresu
  • Endoresu
  • 2011年11月14日 08:59
  • 2250

Oracle 设置环境变量NLS_LANG(客户端的环境变量)

NLS_LANG格式: NLS_LANG=LANGUAGE_TERRITORY.Client CHARACTERSET 1、NLS_LANG 参数组成 NLS_LANG参数由以下部分组成: N...
  • dangerYe
  • dangerYe
  • 2012年05月05日 19:25
  • 19685

【不错 转自mos中文文章】Microsoft Windows 环境中NLS_LANG的正确设置

【转自mos中文文章】Microsoft Windows 环境中NLS_LANG的正确设置 ] Microsoft Windows 环境中NLS_LANG的正确设置 (Doc ID 157...
  • haiross
  • haiross
  • 2016年01月05日 13:50
  • 1050

查看环境变量字符集(NLS_LANG

查看环境变量字符集(NLS_LANG) 1. NLS_LANG 参数组成  NLS_LANG参数由以下部分组成:  NLS_LANG=_.  NLS_LANG各部分含义如下:  ...
  • jaray
  • jaray
  • 2014年07月02日 10:59
  • 5824

plsql中文复制乱码首先配置环境变量:NLS_LANG为SIMPLIFIED CHINESE_CHINA.ZHS16GBK

plsql中文复制乱码   首先配置环境变量:NLS_LANG为SIMPLIFIED CHINESE_CHINA.ZHS16GBK   其次在plsql的 工具——首选项——字体——编辑器...
  • sun6220083
  • sun6220083
  • 2015年03月17日 15:22
  • 5231

oracle: NLS_LANG 环境变量

适应存储中文的oracle数据库服务器端字符集一般为:ZHS16GBK 所以,在Unix/Linux端得OCCI程序运行环境变量最好设置为:ZHS16GBK,即:NLS_LANG="SIMPLIFI...
  • lzx_bupt
  • lzx_bupt
  • 2011年08月09日 13:29
  • 3774

设置 Unix,Linux环境下的NLS_LANG

设置 UNIX环境下的NLS_LANG 如何设置 NLS_LANG 变量 1) 正确配置 LC_ALL 参数 2) 配置 telnet/ssh/SecureCRT 客户端的字符集 l...
  • Evils798
  • Evils798
  • 2012年11月04日 17:48
  • 13080
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:操作系统环境变量LANG和NLS_LANG的关系
举报原因:
原因补充:

(最多只允许输入30个字)