查看服务器端编码
select userenv('language') from dual;
查看NLS_LANGUAGE对应的值是否和第一步中查询的结果一致
select * from v$NLS_PARAMETERS
如果不一致,则需要设置环境变量。当PLSQL客户端使用的编码和服务器端编码不一致,就会造成乱码。
- 设置环境变量:
计算机->属性->高级系统设置->环境变量->新建
- 设置变量名为:NLS_LANG
变量值:第一步查到的值。我的是AMERICAN_AMERICA.ZHS16GBK
- 重启PLSQL,查询数据不再乱码。