一、问题描述
今天在用plSQL连接oracle数据库查询数据,发现查询结果中涉及到中文的显示乱码,经过一番研究找到了具体的解决办法。
二、解决办法
- select * from V$NLS_PARAMETERS 用这个语句在plsql里查询一下,看下数据库具体的字符集。
- 输入sql语句select * from V$NLS_PARAMETERS查看本地字符集,查看第一行和第九行是否对应
- 查看下环境变量的设置,查看是否有变量NLS_LANG,没有则新建该变量
- 新建变量,设置变量名:NLS_LANG,变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK(这里的变量值需要与数据库环境相同所以不固定:比如还会有utf-8等),确定即可
- 关闭plsql,重新打开查询一下。