原因:因为数据库的编号格式和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_proces
PLSQL Developer中文显示乱码是因为Oracle数据库所用的编码和PLSQL Developer所用的编码不同所导致的。
解决方法:
1. 先查询Oracle所用的编码
select userenv('language') from dual
2. 设置PLSQL 的所用编码为第1步查询得到的编码格式
新建一个环境变量: NLS_LANG
例如:
3. 重启 PLSQL 问题得到解决
oracle数据库查询时出现乱码,很可能是该数据库的字符集设定不支持中文,但是表中数据含有中文,所以变为乱码。如果是字符集原因,解决方法如下:
1、shutdown immediate; 关闭数据库
2、startup mount; 开启数据库至挂载模式(只挂实例,不启动数据库)
3、alter system enable restricted session;开启会话限制
4、alter system set aq_tm_processes=0;修改系统参数
5、alter system set job_queue_processes=0;修改系统参数
6、alter database open;启动数据库为open
7、alter database national character set internal_user (zhs16gbk);修改字符集
8、alter system disable restricted session;关闭会话限制
括号内可填写字符集类型,zhs16gbk、AL32UTF8等字符集都支持中文。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)