字符集
1、操作系统的字符集
[oracle@arcerzhang perl]$ echo $LANG en_US.UTF-8
2、Oracle 客户端的字符集
[oracle@arcerzhang perl]$ echo $NLS_LANG
3、数据库服务器的字符集
SQL> select * from v$nls_parameters where parameter='NLS_CHARACTERSET'; PARAMETER VALUE ------------------------------ ------------------------------ NLS_CHARACTERSET AL32UTF8
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;