⑴ PLsql 表备注,存储过程里的中文都显示乱码,请问怎么处理
方法/步骤
登陆plsql,执行sql语句,输出的中文标题显示成问号????;条件包含中文,则无数据输出
输入sql语句select
*
from
V$NLS_PARAMETERS查看字符集,查看第一行value值是否为简体中文
进入注册表,依次单击HKEY_LOCAL_MACHINE
--->SOFTWARE
--->
ORACLE--->home(小编安装的是Oracle
11g,这里显示成KEY_OraDb11g_home1),找到NLS_LANG,查看数值数据是否为:SIMPLIFIED
CHINESE_CHINA.ZHS16GBK
如果以上设置都没有问题,那就要查看下环境变量的设置,查看是否有变量NLS_LANG,没有则新建该变量
新建变量,设置变量名:NLS_LANG,变量值:SIMPLIFIED
CHINESE_CHINA.ZHS16GBK,确定即可
6
退出plsql,重新登陆plsql。输入sql语句,执行,中文标题终于正常显示,也有数据输出了
⑵ pl/sql developer中文乱码,为什么呢怎么解决Oracle问题
pl/sqldeveloper 中文字段显示乱码:
原因:因为数据库的编号格式和pl /sqldeveloper的编码格式不统一造成的。
解决方法如下:
一、查看和修改oracle数据库字符集:
select userenv('language') from al;
二、修改pl/sql developer 的编码格式:
在windows中创建一个名为“NLS_LANG”的系统环境变量,设置其值为“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”,然后重新启动 pl/sql developer,这样检索出来的中文内容就不会是乱码了。
如果想转换为UTF8字符集,可以赋予“NLS_LANG”为 “AMERICAN_AMERICA.UTF8”,然后重新启动 pl/sql developer。其它字符集设置同上。
(2)oracle存储过程执行乱码扩展阅读:
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。
⑶ 在ORACLE查询出来的结果凡是中文的都是乱码 ,用pl/sql亦如此,该如何解决呢
数据是怎么来的是导入还是客户端录入的
如果是导入的那就是你导入数据的字符集和导入的oracle的字符集不一致,那就修改数据库的字符集重新导入数据
如果是客户端录入的那就是客户端的字符集和oracle的不一致 有两个办法一是修改客户端的代码使客户端的字符集和oracle一致,二是修改数据库的字符集重新录入数据