写在开篇

近期,笔者对所使用的win10操作系统进行了重装,在通过PLSQL Developer工具连接Oracle数据库时,发现中文的别名居然出现乱码,也就是出现:”?????“,如下图:

image.png

经分析,原因无非就两个:

  • 本机没有配置数据库字符集环境变量
  • 客户端与数据库字符集不一致

解决过程

  1. 确认数据库的字符集

查看Oracle当前字符集

SQL> select userenv('language') from dual;

USERENV('LANGUAGE')
----------------------------------------------------
AMERICAN_AMERICA.UTF8

也可查看更详细的

SQL> select * from nls_database_parameters where PARAMETER like '%CHARACTERSET%';

PARAMETER                                                                        VALUE
-------------------------------------------------------------------------------- -----
NLS_NCHAR_CHARACTERSET                                                           UTF8
NLS_CHARACTERSET                                                                 UTF8

从上面的结果看到,字符集均为UTF8

  1. 在PLSQL Developer工具所在的机器环境变量中添加用户变量(笔者的是win10)
    • NLS_LANG=AMERICAN_AMERICA.UTF8

如下图

image.png

image.png

  1. 关闭PLSQL Developer工具,再重新打开
    • 中文别名已经正常显示,如下图:

image.png

写在最后

本次分享的内容很简单、内容也很短,望能帮助到有需要的朋友。

重要声明:因本篇内容字数未大于300字,由于公众号本身的限制不能声明原创。但笔者已买断其文章版权,该文章版权归属TtrOpsStack公众号所有。如转载此文章,请注明此原文的链接,否则...我也不能把你咋地。哈哈!