Oracle数据库选择出的字段中文出现乱码

  • 中文可以显示,但是选择一个字段时就出现乱码 求大神指点

图片说明

  • 而且好像选择的第一个字段不是中文的,就可以输出

图片说明

检查NLS_CHARATTERSET NLS_NCHAR_CHARACTERSET的设置

1、查看服务器端编码
Select userenv('language') from dual;
我实际查到的结果为: AMERICAN_AMERICA.ZHS16GBK

2、执行语句 select * from V$NLS_PARAMETERS
查看第一行中PARAMETER项中为NLS_LANGUAGE对应的VALUE项中是否和第一步得到的值一样。
如果不是,需要设置环境变量。
否则PLSQL客户端使用的编码和服务器端编码不一致,插入中文时就会出现乱码。

3、设置环境变量
计算机 属性 高级系统设置 环境变量 新建
设置变量名:NLS_LANG
变量值:第1步查到的值,我的是 AMERICAN_AMERICA.ZHS16GBK