NLS_LANG

79 篇文章 0 订阅

一、系统命令查看
查看设置nls_lang
linux
查看 echo $NLS_LANG   修改 export NLS_LANG=XXX 如果永久设置参数
如果是环境变量 还可以env | grep NLS_LANG
set是显示所有本地定义的shell变量
使用unset $NLS_LANG 来清除环境变量
文件中修改 /etc/profile 所有用户永久生效,.bash_profile文件中增加变量(对单一用户生效(永久的))
运行export命令定义变量(只对当前shell(BASH)有效(临时的))

windows
查看 set NLS_LANG  或者echo  %NLS_LANG% 修改 set NLS_LANG=XXX
如果想永久修改,需要在系统环境变量,或者注册表中修改
置空时候使用set NLS_LANG=

二、数据库层面查看

1、服务端
查看服务端nls_lang,也可以从操作系统层面查看,看上
select userenv('language') from dual;
查看数据库目前字符集参数设置
select * from v$nls_parameter;
或者
select * from nls_databaase_parameters;
查看数据库可用字符集参数设置
select * from v$nls_valid_values;

2、客户端字符集设置
select userenv('language') from dual;

三、常用字符集简介
字符编码方案
3.1 单字节编码
    (1)单字节7位字符集,可以定义128个字符,最常用的字符集为US7ASCII
    (2)单字节8位字符集,可以定义256个字符,适合于欧洲大部分国家
              例如:WE8ISO8859P1(西欧、8位、ISO标准8859P1编码),iso8859-1 都应用于英文系列.
3.2 多字节编码
    (1)变长多字节编码
              某些字符用一个字节表示,其它字符用两个或多个字符表示,变长多字节编码常用于对亚洲语言的支持,   例如日语、汉语、印地语等
              例如:AL32UTF8(其中AL代表ALL,指适用于所有语言)、zhs16cgb231280
    (2)定长多字节编码
              每一个字符都使用固定长度字节的编码方案,目前oracle唯一支持的定长多字节编码是AF16UTF16,也仅用于国家字符集 unicode编码
              Unicode是一个涵盖了目前全世界使用的所有已知字符的单一编码方案,也就是说Unicode为每一个字符提供唯一的编码。UTF-16是unicode的16位编码方式,是一种定长多字节编码,用2个字节表示一个unicode字符,AF16UTF16是UTF-16编码字符集。
              UTF-8是unicode的8位编码方式,是一种变长多字节编码,这种编码可以用1、2、3个字节表示一个unicode字符,AL32UTF8,UTF8、UTFE是UTF-8编码字符集。

3.3 国家字符集:
    (1)用以存储NCHAR, NVARCHAR2, NCLOB等类型数据
    (2)国家字符集实质上是为oracle选择的附加字符集,主要作用是为了增强oracle的字符处理能力,因为NCHAR数据类型可以提供对亚洲使用定长多字节编码的支持,而数据库字符集则不能。国家字符集在oracle9i中进行了重新定义,只能在unicode编码中的AF16UTF16和UTF8中选择,默认值是AF16UTF16
四、NLS_LANG变量格式
NLS_LANG=<language>_<territory>.<client character set>
    Language:语言,显示oracle消息,校验,日期命名,
    Territory:区域,指定默认日期、数字、货币等格式
    Client character set:字符集,指定客户端将使用的字符集
    例如:NLS_LANG=AMERICAN_AMERICA.US7ASCII 
    AMERICAN是语言,AMERICA是地区,US7ASCII是客户端字符集
    比如SIMPLIFIED CHINESE_CHINA.ZHS16GBK
    SIMPLIFIED CHINESE是语言,CHINA是地区,ZHS16GBK是客户端字符集

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

朝闻道-夕死可矣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值