oracle客户端NLS_LANG的设置

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


分类: 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'

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用中提到了新建环境变量NLS_LANG,并设置为SIMPLIFIED CHINESE_CHINA.ZHS16GBK。引用中提到了通过命令行(cmd)设置NLS_LANG环境变量为Simplified Chinese_China.AL32UTF8。根据这两个引用内容可以得出结论,环境变量NLS_LANG用于设置系统的字符集编码。具体来说,NLS_LANG是Oracle数据库中的一个环境变量,用于指定数据库会话的字符集和国家语言。在不同的操作系统中,设置NLS_LANG的方法可能有所不同。在Windows操作系统中,可以通过新建环境变量或者使用命令行工具来设置NLS_LANG。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Oracle入门精读29-Oracle客户端字符集与NLS_LANG环境变量](https://blog.csdn.net/msh2016/article/details/86766962)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [NLS_LANG修改环境变量工具](https://download.csdn.net/download/qq_34590413/10161600)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值