NLS_LANG
一、系统命令查看查看设置nls_langlinux查看 echo $NLS_LANG 修改 export NLS_LANG=XXX 如果永久设置参数如果是环境变量 还可以env | grep NLS_LANGset是显示所有本地定义的shell变量使用unset $NLS_LANG 来清除环境变量文件中修改 /etc/profile 所有用户永久生效,.bash_p
一、系统命令查看
查看设置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)