原因:本机没有配置数据库字符集环境变量,或是与数据库字符集不一致。

步骤一:在plsql中执行

select userenv('language') from dual;

或是执行

select * from V$NLS_PARAMETERS;

两者的区别是:

第一种查看到的是拼接好的一条字符集数据;

PLSQL中文乱码问题(显示问号)解决办法-风君雪科技博客

第二种是查询数据库详细配置参数,有多条数据,需要以 第一行_第二行.第九行的格式拼接起来

PLSQL中文乱码问题(显示问号)解决办法-风君雪科技博客

步骤二:在环境变量的系统变量中添加配置:

NLS_LANG

SIMPLIFIED CHINESE_CHINA.ZHS16GBK

这个value值就是我们步骤一中拼接好的那个值

PLSQL中文乱码问题(显示问号)解决办法-风君雪科技博客

步骤三:重启plsql即可,如果没有生效,需要重启电脑。

转载于博主