pl/sql developer中文乱码,为啥呢?怎么解决?Oracle问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pl/sql developer中文乱码,为啥呢?怎么解决?Oracle问题相关的知识,希望对你有一定的参考价值。

pl/sql developer 中文字段显示乱码:

原因:因为数据库的编号格式和pl /sql developer的编码格式不统一造成的。

解决方法如下:

一、查看和修改oracle数据库字符集:

select userenv('language') from dual;

二、修改pl/sql developer 的编码格式:

在windows中创建一个名为“NLS_LANG”的系统环境变量,设置其值为“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”,然后重新启动 pl/sql developer,这样检索出来的中文内容就不会是乱码了。

如果想转换为UTF8字符集,可以赋予“NLS_LANG”为 “AMERICAN_AMERICA.UTF8”,然后重新启动 pl/sql developer。其它字符集设置同上。

扩展资料:

ORACLE数据库常见问题及诊断方法 :

1,ORA-12571、ORA-03113、ORA-03114、ORA-01041

特征:

客户端(代理或应用服务器)有时报这类断连错误。

原因:

如果偶尔出现一次,则可能为网络原因或用户异常中止,如果经常出现则为客户端与服务端的字符集不一致。     

措施:

如果偶尔出现,可在服务端的协议配置文件PROTOCOL.ORA中增加一行TCP.NODELAY=YES。

如果经常出现,则为客户端与服务端字符集不一致或网络原因。客户端的字符集在注册表里定义:HKEY__LOCAL__MACHINE/SOFTWARE/ORACLE/NLS__LANG。在客户端注册表中的TCP参数项中设置TCPMAXDATARETRANSMITIONS=20。

2,ORA-01000    

特征:

达到会话允许的最大游标数。  

原因:

达到会话允许的最大游标数。    

措施:

在初始化文件INIT.ORA文件中增加OPEN_CURSORS的数量,一般要求大于200。


参考技术A 一、pl/sql developer 中文字段显示乱码
原因:因为数据库的编号格式和pl /sql developer的编码格式不统一造成的。
二、查看和修改oracle数据库字符集:
select userenv('language') from dual;
查询结果:
SIMPLIFIED CHINESE_CHINA.AL32UTF8
--修改oracle数据库字符集:(在SQL Plus中)
sql> conn / as sysdba;
sql> shutdown immediate;
database closed.
database dismounted.
oracle instance shut down.
sql> startup mount;
oracle instance started.
total system global area 135337420 bytes
fixed size 452044 bytes
variable size 109051904 bytes
database buffers 25165824 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 internal_use JA16SJIS;
sql> shutdown immediate;
sql> startup;

三、修改pl/sql developer 的编码格式:
在windows中创 建一个名为“NLS_LANG”的系统环境变量,设置其值为“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”,
然后重新启动 pl/sql developer,这样检索出来的中文内容就不会是乱码了。如果想转换为UTF8字符集,可以赋予“NLS_LANG”为 “AMERICAN_AMERICA.UTF8”,然后重新启动 pl/sql developer。其它字符集设置同上

PL SQL 12.0.7的安装及注册码,汉化包,连接Oracle远程数据库,中文乱码问题处理

首先,在官网下载PL SQL 的对应版本,本机是64位的就下载64位的,网址:https://www.allroundautomations.com/downloads.html#PLS

点击应用程序.exe文件,进行安装。

安装成功,打开,会有一个需要注册的弹窗,输入以下注册码,仅针对PLSQL Developer 12.0.7版本,

 PLSQL Developer 12.0.7 注册码

product code: 4vkjwhfeh3ufnqnmpr9brvcuyujrx3n3le 
serial Number:226959 
password: xs374ca 
 

安装结束,去Oracle官网下载数据库对应版本的客户端,这里是12.0.7,我下载的是64位的 instantclient_12_1和sqlplus压缩包 ,切记要用64位的版本!!!!如果没有Oracle账号就注册一个。

网址:http://www.oracle.com/technetwork/topics/winx64soft-089540.html

技术分享图片

        下载完成,分别解压缩到PL SQL 安装路径下,

 

这时,打开你会发现你的PLSQL_Developer不能正常连接到数据库,没有数据库的初始化内容,如图所示:

技术分享图片

 

在\\instantclient_12_1 \\NETWORK\\ADMIN”目录下新建"tnsnames.ora"文件,内容如下:

(在“instantclient_12_1”目录下没有“NETWORK\\ADMIN”目录结构,所以你也得自己手动创建)

技术分享图片

文件内容如下:

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

说明:如果是连接远程数据库,那么HOST就是等于你的远程数据库地址,IP地址; SERVICE_NAME名字就是连接服务器的名字,如果要连多个库,可以用此添加多个,但是名称不能相同,比如:ORCL,ORCL1...


打开PLSQL_Developer后,取消登陆,进入主界面。

1.点击--配置(Configure)--首选项(Preferences)--连接:      (说明一下:12以下的版本可能在tool工具里面设置Preferences连接)

2.设置Oracle主目录名为解压的instantclient_12_1目录 :   C:\\XX\\XX\\XX\\instantclient_12_1

3.OCI库改为带有instantclient_12_1的路径:                   C:\\XX\\XX\\XX\\instantclient_12_1\\oci.dll


技术分享图片

 

然后,应用--确定--关闭PLSQL_Developer,重新启动,成功登录。

 

 

另外,如果出现中文乱码问题,可以

查看注册表值HKEY_LOCAL_MACHINE\\SOFTWARE\\Oracle\\KEY_OraDB12Home1

进入注册表:Win+r,输入regedit后回车,依次单击HKEY_LOCAL_MACHINE --->SOFTWARE ---> ORACLE--->home,找到NLS_LANG(如果没有就新建),查看数值数据是否为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK

技术分享图片

 

设置完成后,重启一下PL/SQL工具,一般就可以解决这个问题,新建一个表,插入中文,测试一下是否成功了。

如果还不行,就试试下面的;

新建环境变量:计算机——属性——高级系统设置——环境变量——新建:

技术分享图片

变量名:NLS_LANG

变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK

这样应该可以正常显示中文了,如果还不行,继续Google吧,不要停。。。

 

喜欢用中文的小伙伴可以下载一个PL SQL 汉化包

汉化补丁: 
百度云盘链接: https://pan.baidu.com/s/1gfeXLnH 密码: 3583 

一、双击运行补丁 
技术分享图片

二、选择你PLSQL Developer 的安装目录 

汉化完成,重启你的PLSQL Developer 效果就出来了,12的版本汉化不是全部汉化,有很少一部分还是英文显示。











以上是关于pl/sql developer中文乱码,为啥呢?怎么解决?Oracle问题的主要内容,如果未能解决你的问题,请参考以下文章

pl/sql developer中文乱码,为啥呢?怎么解决?Oracle问题

pl/sql developer 提示信息乱码

PL/SQL Developer显示中文乱码

pl/sql developer 中文字段显示乱码 解决办法

Win11处理PL/Sql Developer中文乱码

pl/sql developer中写SQL时出现ORA-06550和PLS-00553