1. 程式人生 > >oracle中文亂碼解決???

oracle中文亂碼解決???

無語 導入 字符集 imp 吐槽一下 版本 32位 轉移 system32

這兩天剛剛使用Oracle,出現了好多不愉快的事情,下面分享一下我的一點經歷:

(1)關於軟件版本的問題,我到現在還沒有解決,歡迎各路大佬、神仙給點建議:

Oracle11g64位,plsql可視化工具是plsqldev1106x64,plsqldev1207x64也用過,看名字就知道都是64位的。按道理Oracle11g64和plsqldev x64搭配是沒有問題的,都是64位的,但是這個問題花了我一星期沒有解決,無奈只能放棄,odbc import想要導入excel數據的時候出現問題,問題如圖所示:

網上說的都是兩種可能:①到odbcad32去加載什麽32位(plsql是64位的,syswow64那裏面的就是加載32位的excel驅動器,而system32下面的那個是加載64位的,這是網上看別人說的,不必糾結這些)的excel驅動器,最後嘗試失敗,沒用!

然後我也嘗試了下載64位的excel(2010年的office64位的),也是失敗!②前面都失敗了,我不得不退而求其次,卸掉64位的plsql(網上一大片說沒有64位的plsql,包括最近兩年的文章!),但是毫無疑問我這就是64位的plsql,下了32位的plsql和32位的Oracle client,才得以繼續。

(2)關於Oracle顯示中文出現問號(亂碼)????

我找了很久,最後終於找到了答案,先告訴大家答案,問題當然(應該)是出在字符集上了,首先,網上也很多解答,主要是:①設置環境變量NLS_LANG,值為SIMPLIFIED CHINESE_CHINA.ZHS16GBK(我電腦一開始是沒有這個的);②win+R,輸入regedit,看圖

按道理說這裏這裏默認就是這樣的,不用改。

前面兩點各個地方都說了,而且說的很詳細,大家如果看我這裏的看不懂,多看幾篇其他人的一定看得懂!

BUT,重磅來了, 問題的關鍵不在前面兩點,在於山水之間也,額,抱歉,在於導入的數據庫(可以說已經成型了,不受你更改字符集的影響了)。一般我們發現Oracle查詢數據庫出現中文是????說明我們已經導入了excel數據了,此時,再來更改字符集,對已經導入的excel文件沒有影響,你會發現重啟plsql還是一樣的亂碼問題,然後懷疑自己是不是哪裏做錯了,很遺憾,很無語,答案不是你的問題,是Oracle的bug,你只有重新導入excel數據,才能解決亂碼?????的問題!(希望大家早點看到這裏,或者類似的解答,早日解決問題,不像我,花了2天時間)。

最後吐槽一下:

老夫很奔潰,知道為什麽叫老夫嗎,老夫昨天到今天,就因為顯示這個中文的問題,奔走於百度各個網頁,無果!以為是這個問題,以為是那個問題,仔細讀了各種解決方案好幾遍,生怕少了什麽,做錯了什麽,為什麽結果不對,最後看見紅字的我眼淚不禁掉了下來,蒼天啊,收了這個Oracle吧,他太變態了,竟然有這樣的bug!小屁孩我沒學到什麽真正有用的高科技的東西(最近貿易戰鬧得厲害,趁一波熱點),時間都花在這狗屁軟件上面了,美國人真正的實現了低科技都不轉移,更不用說高科技了,Trump你厲害。

oracle中文亂碼解決???