问题:查询的表中有中文数据,全部显示为?
解决途径1:修改注册表以及环境变量(改系统变量!不要只改用户变量)
Oracle使用——PLSQL的中文乱码显示全是问号_海蓝树的博客-CSDN博客_plsql无法显示中文j问题这两天刚将PLSQL与Oracle配置好,可是在PLSQL中插入数据时,出现一个问题,PLSQL中的表里无法显示中文,中文无法保存、无法输出,中文在表中显示问号,如图:原因经过一番查证,发现问题的源头不是出现在PLSQL上,而是出现在我们的Oracle上,由于我们的Oracle数据库里的字符集不支持中文导致的,既然知道了原因,就好办了,我们就配置我们的Oracle字符集,让他支持中文。解决办法我的Oracle是11g版本的,下面以我的为例,...https://blog.csdn.net/xwnxwn/article/details/123473291
解决途径2:
1、查看oracle的字符编码
SQL> select * from v$nls_parameters;:
得到的信息是该客户端,也就是本机PLSQL的编码,和实际数据库没有关系,具体参照
Oracle v$nls_parameters 和 nls_database_parameters 区别_石工记的博客-CSDN博客_v$nls_parametersOracle v$nls_parameters 和 nls_database_parameters 区别https://blog.csdn.net/swebin/article/details/78394174图省事,直接扒了另一台中文显示正常的机器参照修改。
打开帮助,查阅PLSQL说明书【Developer user‘s guide】,第219页。
执行SQL语句,注意这个是改当前对话,关闭该对话后又会和系统变量【环境变量】中的nls_lang一致
alter session set nls_language = 'SIMPLIIFIED CHINESE';
alter session set nls_territory = 'CHINA';
再次查询两者一致了,只是¥还不能显示。(因为环境变量的系统变量没有nls_lang这一项,相当于底层没基础,上面应用改参数也没用。)
关于PLSQL无法正确显示中文_Bian_MCheng的博客-CSDN博客_plsql识别不了中文
增加了环境变量中的系统变量,重启之后OK
总结,改环境变量中的系统变量,其余都是隔靴搔痒。