數(shù)據(jù)庫中亂碼的問題是比較常見的,很多朋友看見頭就大了,其實要解決亂碼并不難,但是亂碼的情況有很多,相應(yīng)的解決方法有不同。因此,本文就給大家分享一下oracle多種亂碼情況及解決方法,感興趣的朋友可以看看。
解決oracle亂碼的問題:
以下方案服務(wù)端字符集編碼是:SIMPLIFIED CHINESE_CHINA.US7ASCII 測試ok,其他編碼的可以參考
一.工具亂碼:
使用PLSQL Developer查詢或者編輯的時候出現(xiàn)??的時候:
原因:客戶端機(jī)和服務(wù)器上的字符集不一致
解決:
先查詢服務(wù)端的字符集編碼,然后將客戶端的修改一直即可;
1.查詢服務(wù)的字符集:
2.通過工具查看客戶端的字符集編碼:
打開工具:help-support info


3.設(shè)置環(huán)境變量(系統(tǒng)環(huán)境變量):
NLS_LANG=SIMPLIFIED CHINESE_CHINA.US7ASCII(設(shè)置的編碼必須和服務(wù)端保持一致)
如果沒有生效,建議重啟電腦!
二.查詢亂碼:
設(shè)置兩個:
1.修改環(huán)境變量:
NLS_LANG=SIMPLIFIED CHINESE_CHINA.US7ASCII(設(shè)置的編碼必須和服務(wù)端保持一致)
2.修改注冊表:(為了保險起見,查找注冊表中的NLS_LANG所有的,避免有多個)
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1

如果沒有生效,建議重啟電腦!
三.插入亂碼:
解決中…
四.導(dǎo)入或?qū)С鰜y碼:
暫無
五.服務(wù)端修改編碼:(此方案慎重使用)
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;