Windows平台下SQL plus中查询到的中文数据是乱码解决方法

数据库 waitig 425℃ 百度已收录 0评论

这个问题是由Windows平台、Oracle和远程数据库的编码方式不一致导致的,要想解决这个问题首先要查询远程数据库的编码方式,然后更改windows平台和Oracle客户端的编码方式。

  • 查询Oracle数据库的编码方式

    查询之前首先要连接Oracle数据库实例,否则就会出线如下图所示的错误。
    这里写图片描述

select userenv('language') from dual;

这里写图片描述

  • 更改Windows平台的编码方式

    添加环境变量NLS_LANG,如下图所示。
    这里写图片描述

  • 更改Oracle的编码方式

    这一执行起来比较复杂,详情可参考https://zhidao.baidu.com/question/1865721401695530627.html。

sql> conn / as sysdba;
sql> shutdown immediate;
sql> startup mount;
sql> alter system enable restricted session;
sql> alter system set job_queue_processes=0;
sql> alter system set aq_tm_processes=0;
sql> alter database open;
sql> alter database character set internal_use ZHS16GBK;
sql> shutdown immediate;
sql> startup;

本文由【waitig】发表在等英博客
本文固定链接:Windows平台下SQL plus中查询到的中文数据是乱码解决方法
欢迎关注本站官方公众号,每日都有干货分享!
等英博客官方公众号
点赞 (0)分享 (0)