前天项目的开发数据库换到另一台服务器了,不知道哪位大仙把新数据库的编码改变了,大家使用PL/SQL Developer连得时候中文都出现了乱码。我的整个解决过程如下:
1.查看数据库服务器端编码:
  select * from v$nls_parameters;
  原来结果是:

  新数据库的结果是:

  (当然,也可以参照/home/oracle/.bash_profile里的LANG和NLS_LANG设置.)
  显然,数据库编码由utf8变成了gbk.

2.解决办法:重新设置本地客户端的编码:
 进入 我的电脑-->属性-->高级-->环境变量,添加2项:
 1.LANG=zh_CN.GBK
 2.NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
 
3.重启plsql developer,查询,一切OK。
 
    这种乱码问题还是坚持“一致性原则”:无论怎么样,要正常显示中文,就必须得服务器和客户端编码一致才行。在此记录下来,有遇见同样问题的朋友,可作参考。