字符集

1、操作系统的字符集

[oracle@arcerzhang perl]$ echo $LANG
en_US.UTF-8
View Code

2、Oracle 客户端的字符集

[oracle@arcerzhang perl]$ echo $NLS_LANG
View Code

3、数据库服务器的字符集

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

PARAMETER                      VALUE
------------------------------ ------------------------------
NLS_CHARACTERSET               AL32UTF8
View Code

4、字符集

客户端:nls_lang(在注册表里) 语言.版图.客户端字符集
select * from v$nls_valid_values 里面的东西都可以写到nls_lang里
select sysdate from dual;
16 -1月 -10 有中文(客户端)
修改nls_lang 为 american_CHINA.ZHS16GBK
现在是英文显示了
alter session set nls_langure=....只是改变当前session,作用域不一样
select sysdate from dual;
现在变成 16-JAN-10 (好像日期格式也改了,语言只影响月份)
语言主要影响提示
修改nls_lang 为 american_japan.ZHS16GBK
重新登陆
select sysdate from dual
现在变成 10-01-16 自己去查文档
客户端字符集影响往数据库写时的编码
试验:create table t(id int,name varchar2(10))
insert into t values (1,'中国')
select * from t;
修改nls_lang 为 american_CHINA.WE8ISO8859P1
重新登陆
select * from t;
View Code

参考文章1

参考文章2

参考文章3

 

posted @ 2013-06-23 15:23  ArcerZhang  阅读(223)  评论(0编辑  收藏  举报