【Oracle】20230106PLSQL中文不显示,全部为?解决流程

问题:查询的表中有中文数据,全部显示为?

解决途径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图省事,直接扒了另一台中文显示正常的机器参照修改。

【Oracle】20230106PLSQL中文不显示,全部为?解决流程_第1张图片

打开帮助,查阅PLSQL说明书【Developer user‘s guide】,第219页。

执行SQL语句,注意这个是改当前对话,关闭该对话后又会和系统变量【环境变量】中的nls_lang一致

alter session set nls_language = 'SIMPLIIFIED CHINESE';
alter session set nls_territory = 'CHINA';

 

再次查询两者一致了,只是¥还不能显示。(因为环境变量的系统变量没有nls_lang这一项,相当于底层没基础,上面应用改参数也没用。)【Oracle】20230106PLSQL中文不显示,全部为?解决流程_第2张图片

 关于PLSQL无法正确显示中文_Bian_MCheng的博客-CSDN博客_plsql识别不了中文

增加了环境变量中的系统变量,重启之后OK

【Oracle】20230106PLSQL中文不显示,全部为?解决流程_第3张图片

总结,改环境变量中的系统变量,其余都是隔靴搔痒。 

 

你可能感兴趣的:(#工具使用,oracle,数据库)