我的系统是64位的win8 英文版,安装的是oracle 10g的精简版,这个安装后没有任何问题。
下载了一个PLSQL 9的,我在此处下载:http://pl-sql-developer.softonic.cn/
1、下载完毕后安装,遇到的第一个问题是:TNS: could not resolve the connect identifier specified,由于我的oracle本身服务开启都没有问题,所以怀疑是PLSQL的问题,经过网上无数次搜索后发现时因为64位的win7或者win8的安装目录Program Files(x86)有个(x86)这个玩意, 重装PLSQL目录修改到Programe Files即可。
2、安装完毕后测试发现PLSQL插入中文显示乱码,java程序插入数据库的中文可以正常显示,但是在PLSQL里面插入中文还是乱码,依旧怀疑是PLSQL的字符集设置不对,因此GOOGLE后找到方法,首先查询下ORACLE的字符集。
查询语句:select * from v$nls_parameters;
我机器结果如下:
主要看NLS_CHARACTERSET这个字段,是AL32UTF8,然后去看PLSQL的字符集,在注册表(regedit)中搜索:NLS_LANG
我原来的NLS_LANG值为:AMERICAN_AMERICA.WE8MSWIN1252
所以我猜测NLS_LANG的值对应到ORACLE字段的格式应该是:(NLS_LANGUAGE)_(NLS_TERRITORY).(NLS_CHARACTERSET)这种格式
所以我将我注册表中的NLS_LANG修改成AMERICAN_AMERICA.AL32UTF8。测试后发现正常了。
其实原理就是要将PLSQL的字符集与ORACLE的字符集设置成一样就好了。