打开 plsql, 执行 sql 语句, 中文显示乱码:
解决方案:
1)输入 sql 语句 select userenv('language') from dual 按下 F8 执行语句 (图标是一个齿轮(鼠标放上去是 execute)) 查看数据库字符集
2)输入 sql 语句 select * from V$NLS_PARAMETERS 查看本地字符集, 查看第一行和第九行是否对应
3)查看下环境变量的设置, 查看是否有变量 NLS_LANG, 没有则新建该变量
4)新建变量, 设置变量名: NLS_LANG, 变量值: SIMPLIFIED CHINESE_CHINA.ZHS16GBK(这里的变量值需要与数据库环境相同所以不固定: 比如还会有 utf-8 等, 此处变量值内容是 select userenv('language') from dual 查询的结果), 确定即可
5)重新打开 plsql, 执行 sql 语句, 问题解决
plsql 中文乱码问题(显示问号)
来源: http://www.bubuko.com/infodetail-3023949.html