感谢前辈的分享,转载地址:http://yangfei520.blog.51cto.com/1041581/977152

      前天项目的开发数据库换到另一台服务器了,不知道哪位大仙把新数据库的编码改变了,大家使用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。

 

    这种乱码问题还是坚持“一致性原则”:无论怎么样,要正常显示中文,就必须得服务器和客户端编码一致才行。在此记录下来,有遇见同样问题的朋友,可作参考。