总结下win7机子安装Oracle11g数据库后修改默认字符集的步奏:
1. 数据库服务端的修改
(1)正确设置ORACLE客户端字符集的方法:
oracle客户端字符集设置需要和服务器端一致,否则会出现乱码问题。
首先连接服务器,查询服务器端设置:
select * from v$nls_parameters;
找到:
NLS_LANGUAGE
NLS_TERRITORY
NLS_CHARACTERSET
环境变量nls_lang便是由这三部分组成
NLS_LANG = language_territory.charset
比如:
NLS_LANG = American_Japan.JA16SJIS
(2) 改服务器端字符集,
在windows下的cmd中,或者linux的终端terminal中,可以使用下面的方法登录sqlplus:
第一种方式:
在cmd或terminal中输入命令:sqlplus /nolog
SQL> conn / as sysdba
第二种方式:
在cmd或terminal中输入命令:sqlplus /nolog
SQL> conn flowcal/flowcaladmin@orcl
注:conn的基本格式为:“conn 用户名/密码@数据库或net服务名”
然后执行以下命令
>shutdown immediate; (把database停了)
>startup mount; (把database重开去可更改情況)
>alter system enable restricted session;
>alter system set job_queue_processes=0;
>alter system set aq_tm_processes=0;
>alter database open;
>alter database character set utf8;
OR
>alter database character set internal_use utf8;
>shutdown immediate;
>startup; (重开正常oracle)
ORACLE数据库字符集修改完成!
plsql客户端的修改:(前提已经安装好)
1) 设置环境变量(修改PATH和TNS_ADMIN环境变量)
对于NLS_LANG环境变量, 最好设置成和数据库端一致, 首先从数据库端查询字符集信息:
SQL> select userenv('language') nls_lang from dual;
NLS_LANG
----------------------------------------------------
SIMPLIFIED CHINESE_CHINA.ZHS16GBK
右击"我的电脑" - "属性" - "高级" - "环境变量" - "系统环境变量":
1>.选择"Path" - 点击"编辑", 把 "D:\Oracle\app\YM\product\instantclient_11_2;" 加入;
2>.点击"新建", 变量名设置为"TNS_ADMIN", 变量值设置为"D:\Oracle\app\YM\product\instantclient_11_2;", 点击"确定";
3>.点击"新建", 变量名设置为"NLS_LANG", 变量值设置为"SIMPLIFIED CHINESE_CHINA.ZHS16GBK", 点击"确定";
最后点击"确定"退出.
启动 PL/SQL Developer ,运行无问题。
参考:
http://blog.csdn.net/nsj820/article/details/6571105
http://blog.csdn.net/zhanggnol/article/details/7076171