參考以下3博文,大部分能解決。
http://blog.csdn.net/qq378527566/article/details/7816768
http://oracle.chinaitlab.com/PLSQL/798196.html
http://blog.csdn.net/jkunzhang/article/details/6094269
==================第一篇:解決PLSQL中文亂碼問題=========================
在日文環境下,安裝PLSQL後,打開創建的數據庫表,所有中文/日語漢字註釋全部亂碼。如下圖:
原因:
這是因爲當前PLSQL所使用的編碼格式和文本的編碼格式不同導致的,通常在非Unicode或UTF-8的編碼環境下,中文等非西方文字會出現亂碼。
解決辦法:
設置環境的文本編碼。
在工具菜單欄下點擊偏好設定菜單項,打開個人偏好設定對話框。在左側的列表中選擇用戶接口下的字體設置(Fonts),則右側切換到相關設置頁。如下圖。
分別點擊Select...按鈕和Main Font...按鈕,選擇自己喜歡的字體,最重要的是選擇文字編碼設置到中文或日語環境。下圖爲默認的設置。
其中歐文(西文)爲默認的設置,也就是此設置導致了中文/日語漢字亂碼,應將其設置爲日本語或中文等編碼。但如果你選擇的字體爲西文編碼的,可能不會在文字編碼下拉列表中出現有關中文/日本語的設置。如下圖:
那個中央什麼的,不是中國語。想要出現有關中文或日本語的選項,首先要選擇一個支持該編碼的字體。如下圖:
如上分別在四個字體設置的對話框中選擇相應的字體,設置編碼爲日本語,點擊OK,在個人偏好設置對話框中點擊OK,就一切OK了。
by 唐加利
==================第2篇:PL/SQL Developer 中文亂碼解決=================
1。select * from v$nls_parameters
查詢nls的參數,獲得數據庫服務器端的字符編碼
NLS_LANGUAGE
NLS_CHARACTERSET
2。修改本地環境變量,設置
NLS_LANG = SIMPLIFIED CHINESE.ZHS16GBK //這個是我們的數據庫字符編碼
NLS_LANG格式:
NLS_LANG = language_territory.charset
有三個組成部分(語言、地域和字符集),每個成分控制了NLS子集的特性。其中:language 指定服務器消息的語言。
territory 指定服務器的日期和數字格式。
charset 指定字符集
也可更改相應註冊表項
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_XE\NLS_LANG
需要保證要設置客戶端字符集與服務器端字符集一致。
以上都是更改PL/SQL Developer的字符編碼方式。
==================第3篇:PLSQL中文亂碼問題=================
機器 中病毒 後,plsql數據庫中的字段成了亂碼
重裝 系統後,plsql中查詢出來的字段仍爲 亂碼
plsql 中顯示的數據和數據庫的中文字段全是亂碼
服務器查詢出來的數據,如果中文顯示的就是亂碼 。
plsql亂碼 如何解決?
設置環境變量:
NLS_LANG SIMPLIFIED CHINESE_CHINA.ZHS16GBK
解決PL/SQL和TOAD中文亂碼問題:
regedit->hkey_local_machine->software->oracle->home0->NLS_LANG value:AMERICAN_AMERICA.WE8ISO8859P1”
那位朋友遇見過同樣的問題,請指教,謝謝了!
創建一個名爲“NLS_LANG”的系統環境變量,設置其值爲“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”,然後重新啓動 pl/sql developer,這樣檢索出來的中文內容就不會是亂碼了。如果想轉換爲UTF8字符集,可以賦予“NLS_LANG”爲 “AMERICAN_AMERICA.UTF8”,然後重新啓動 pl/sql developer。其它字符集設置同上