oracle中一些字符編碼的問題

Oracle字符編碼問題  

2012-05-16 16:46:35|  分類: 學習|字號 訂閱

 oracle 10g裝上後,建了個表寫入中文數據,發現通過工具DbVisualizer 6.5 寫入/讀取中文都正常,就sqlplus和PL/SQL Developer不正常.

初步懷疑是DbVisualizer本身定義了字集編碼,而sqlplus和PL/SQL Developer則沒有.無論怎麼樣,要正常顯示中文,就必須得服務器和客戶端編碼一致纔行.於是檢查.

1.檢查服務器編碼:

執行SQL語法:
   select * from v$nls_parameters; 
   或


select * from nls_database_parameters  


select userenv('language') from dual;  

 

查看數據庫可用字符集參數設置


SELECT * FROM v$nls_valid_values;  


也可以參照/home/oracle/.bash_profile 相關語言設置.
可以看到我的相關設置是:


LANG=zh_CN.GBK   
NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"  


2.設置本地客戶端編碼:

進入"我的電腦,屬性,高級,環境變量",添加2項:


LANG=zh_CN.GBK   
NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"  


3.重新連接sqlplus,查看數據:

顯示正常.

4.PL/SQL Developer設置並重新連接:

在pl/sql developer的菜單->tools->preferences->user interface->fonts 中修改爲中文字體

重新連接,

顯示正常.OK!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章