问题现象:
打开 plsql,执行 sql 语句,结果中中文显示乱码(如下图中所示):
解决方法:
1)查看数据库字符集
输入 sql 语句 select userenv('language') from dual
2)查看本地字符集
输入 sql 语句 select * from V$NLS_PARAMETERS ,查看第一行和第九行是否对应
3)查看环境变量的设置
查看是否有变量 NLS_LANG,没有则新建该变量
4)新建变量
新建系统环境变量,设置变量名:NLS_LANG,变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK(这里的变量值需要与数据库环境相同所以不固定:比如还会有 utf-8 等),确定即可
5)重新打开 plsql
执行 sql 语句,问题解决