64位win 8系统装64位oracle遇到的sqlplus和sqldeveloper乱码解决

南楼画角 提交于 2019-12-06 16:42:03

话不多说,先说下这次遇到的问题。在64位操作系统上装64位oracle时,本来默认的编码是SIMPLIFIED CHINESE_CHINA.ZHS16GBK,但是实际安装的时候却没有这个编码,装完后发现在sqlplus里面数据乱码,网上找了好多资料 终于找到一个靠得住的解决办法,就是在环境变量中添加一项,NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK 然后乱码就解决了。

plsql developer因为没有64位版本的,所以如果什么都不配置的话在64位操作系统是用不了的,解决办法如下:

首先下载一个oracle客户端,解压得到的文件,将得到的文件放进oracle安装目录下的product下,然后再由oracle客户端解压下的文件夹根目录拷贝oracle的安装目录下的NETWORK文件夹,接下来在plsql developer中的工具-首选项-oracle-连接 下的oci库选择oracle客户端中的oci.dll文件路径即可。

但是此时的plsql developer连接数据库会发现乱码问题存在,主要还是编码问题,具体哪个编码不对不是很清楚,解决办法如下:

SQL> shutdown immediate;


  Database closed.


  Database dismounted.


  ORACLE instance shut down.


  SQL> startup mount ORACLE instance started.


  Total System Global Area 236000356 bytes


  Fixed Size 451684 bytes


  Variable Size 201326592 bytes


  Database Buffers 33554432 bytes


  Redo Buffers 667648 bytes


  Database mounted.


  SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;


  System altered.


  SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;


  System altered.


  SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;


  System altered.


  SQL> alter database open;


  Database altered.


  SQL> ALTER DATABASE CHARACTER SET ZHS16GBK;


  ALTER DATABASE CHARACTER SET ZHS16GBK ERROR at line 1:


  ORA-12712: new character set must be a superset of old character set


  提示我们的字符集:新字符集必须为旧字符集的超集,这时我们可以跳过超集的检查做更改:


  SQL> ALTER DATABASE character set INTERNAL_USE ZHS16GBK;


  Database altered.


alter system disable restricted session;//这句是设置所有用户都可以登录数据库的

另一种编码格式  

simplified chinese_china.utf8


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!