前天項目的開發數據庫換到另一臺服務器了,不知道哪位大仙把新數據庫的編碼改變了,大家使用PL/SQL Developer連得時候中文都出現了亂碼。我的整個解決過程如下:
1.查看數據庫服務器端編碼:
select * from v$nls_parameters;
原來結果是:
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。
這種亂碼問題還是堅持“一致性原則”:無論怎麼樣,要正常顯示中文,就必須得服務器和客戶端編碼一致才行。在此記錄下來,有遇見同樣問題的朋友,可作參考。