您的位置:首页 > 数据库 > Oracle

oracle客户端NLS_LANG的设置

2015-12-04 10:09 543 查看
oracle客户端NLS_LANG的设置

本文为转载,版权归原作者所有,原文网址  http://blog.itpub.net/28859270/viewspace-775821/[/code] 
分类: Linux

针对NLS_LANG简单写写

常用环境配置:

1. 简体中文windows cmd

set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK --sqlplus中文

set NLS_LANG=American_America.ZHS16GBK --英文

2. securecrt,Appearance-character encoding GB2312

export LANG=en_US.GB2312

export NLS_LANG='SIMPLIFIED CHINESE_CHINA.ZHS16GBK'

3. securecrt,Appearance-character encoding UTF-8

export NLS_LANG='SIMPLIFIED CHINESE_CHINA.AL32UTF8' --中文

export NLS_LANG='American_America.AL32UTF8' --英文

export LANG=en_US.UTF-8

总结一句话就是

LANG,NLS_LANG,客户端OS 这3个字符集一致

(GB2312 ZHS16GBK)

(UTF-8 AL32UTF8)

-----------------------------------------------------------------------------------------------------

3层结构--对于oracle,协调3个字符集

数据库、数据库客户端程序、客户端操作系统

数据库字符集

select * from v$nls_parameters where parameter = 'NLS_CHARACTERSET';

select * from nls_database_parameters;

普遍常遇到情况是 AL32UTF8

数据库客户端程序

自己设置NLS_LANG环境变量

NLS_LANG=American_America.AL32UTF8,American表示语言;America表示地区;AL32UTF8字符集类型

oracle字符集表示:

AL32UTF8:AL,代表all,指使用所有语言;32,,32位;UTF8编码

中文 export NLS_LANG='SIMPLIFIED CHINESE_CHINA.AL32UTF8'

英文 export NLS_LANG='American_America.AL32UTF8'

客户端操作系统

securecrt配置或cmd-简体中文WINDOWS的字符编码,或直接在数据库服务器上的terminal

Appearance-character encoding-可按需配置

C:\>chcp

活动代码页: 936

[oracle@localhost ~]$ env | grep LANG

NLS_LANG=American_America.AL32UTF8

LANG=en_US.UTF-8

这里有2个环境变量

NLS_LANG 是专为oracle客户端程序使用的, 如sqlplus程序

LANG 是os 语言环境的设置,安装了多个语言包的话就可以切换,注意优先级是 LC_ALL > LC_* > LANG

因为这里使用终端仿真软件,securecrt,所以相当于多了一层交互

Appearance-character encoding-可按需随意配置

一般配置个能支持中文的就可以

因为我这里配置的是UTF-8

所以相当于3层结构中的 客户端操作系统 就是UTF-8

需要NLS_LANG的encoding,和LANG的encoding,与软件设置的encoding一致

如果没有securecrt之类软件,直接cmd命令行的话

简体中文WINDOWS的字符编码就是GBK,它的缺省代码页是936

C:\>chcp

活动代码页: 936

所以把securecrt的encoding设为GB2312,就是和cmd的环境一样

这时应

export LANG=en_US.GB2312

export NLS_LANG='SIMPLIFIED CHINESE_CHINA.ZHS16GBK'
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: