plsql汉语乱码怎么解决
答案:2 悬赏:50 手机版
解决时间 2021-02-26 14:29
- 提问者网友:斑駁影
- 2021-02-25 21:57
plsql汉语乱码怎么解决
最佳答案
- 五星知识达人网友:狂恋
- 2021-02-25 22:45
一、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 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。其它字符集设置同上
全部回答
- 1楼网友:动情书生
- 2021-02-25 23:38
oracle 10g装上后,建了个表写入中文数据,发现通过工具dbvisualizer 6.5 写入/读取中文都正常,就sqlplus和pl/sql developer不正常.初步怀疑是dbvisualizer本身定义了字集编码,而sqlplus和pl/sql developer则没有.无论怎么样,要正常显示中文,就必须得服务器和客户端编码一致才行.于是检查.1.检查服务器编码:执行sql语法:select * from v$nls_parameters;也可以参照/home/oracle/.bash_profile 相关语言设置.可以看到我的相关设置是:lang=zh_cn.gbk nls_lang="simplified chinese_china.zhs16gbk"2.设置本地客户端编码:进入 我的电脑,属性,高级,环境变量,添加2项:lang=zh_cn.gbk nls_lang="simplified chinese_china.zhs16gbk"如图:3.重新连接sqlplus,查看数据:显示正常.4.pl/sql developer设置并重新连接:在pl/sql developer的菜单->tools->preferences->user interface->fonts 中修改为中文字体重新连接,如图:显示正常.ok!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯