解決oracle亂碼的問題

解決oracle亂碼的問題解決oracle亂碼的問題:

是不是經??匆姼魇礁鳂拥膩y碼,看見頭就大了,大家別怕,所有的問題都會有一個甚至不止一個的解決方案,

有句名言說的好:萬法不離其蹤。網上大部分把工具的亂碼和代碼操作的亂碼混為一談,方案看了一大堆都是一個粘貼一個的,沒有一點創新,于是今天出這篇博客。

以下方案服務端字符集編碼是:SIMPLIFIED CHINESE_CHINA.US7ASCII? 測試ok,其他編碼的可以參考

一.工具亂碼:

使用PLSQL Developer查詢或者編輯的時候出現??的時候:

原因:客戶端機和服務器上的字符集不一致

解決:

先查詢服務端的字符集編碼,然后將客戶端的修改一直即可;

1.查詢服務的字符集:

2.通過工具查看客戶端的字符集編碼:

打開工具:help-support info

解決oracle亂碼的問題

解決oracle亂碼的問題

3.設置環境變量(系統環境變量):

NLS_LANG=SIMPLIFIED?CHINESE_CHINA.US7ASCII(設置的編碼必須和服務端保持一致)

如果沒有生效,建議重啟電腦!

二.查詢亂碼:

?設置兩個:

1.修改環境變量:

NLS_LANG=SIMPLIFIED?CHINESE_CHINA.US7ASCII(設置的編碼必須和服務端保持一致)

2.修改注冊表:(為了保險起見,查找注冊表中的NLS_LANG所有的,避免有多個)

HKEY_LOCAL_MACHINESOFTWAREoracleKEY_OraDb11g_home1

解決oracle亂碼的問題

如果沒有生效,建議重啟電腦!

三.插入亂碼:

?解決中…

四.導入或導出亂碼:

暫無

五.服務端修改編碼:(此方案慎重使用)

cmd sqlplus/nolog conn/as?sysdba; shutdown?immediate; startup?mount; alter?session?set?sql_trace=true; alter?system?enable?restricted?session; alter?system?set?job_queue_processes=0; alter?system?set?aq_tm_processes=0; alter?database?open; alter?database?character?set?ZHS16GBK; alter?database?character?set?internal_use?ZHS16GBK; alter?database?national?character?set?internal?ZHS16GBK;(如果報錯,可以不用理會) shutdown?immediate; startup;

推薦教程: 《Oracle教程

以上就是解決

? 版權聲明
THE END
喜歡就支持一下吧
點贊5 分享