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。
原因:因为数据库的编号格式和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版本,
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问题