?
? ? ?最近,有現(xiàn)場(chǎng)反應(yīng),程序顯示亂碼。感覺(jué)很奇怪,該系統(tǒng)已經(jīng)賣(mài)出去無(wú)數(shù)了。肯定是現(xiàn)場(chǎng)數(shù)據(jù)庫(kù)字符集有問(wèn)題,經(jīng)過(guò)查看,
現(xiàn)場(chǎng)環(huán)境:
window系統(tǒng),oracle10g。
?
?
?
我們要求的數(shù)據(jù)庫(kù)字符集是AL32UTF8的,而現(xiàn)場(chǎng)自己安裝成ZHS16GBK。
并且,數(shù)據(jù)庫(kù)的表里面,中文是亂碼,如???( 這才是造成程序顯示亂碼的主要原因,后面詳述 )
?
當(dāng)時(shí)一心以為:既然情況如此,只能期望通過(guò)調(diào)整數(shù)據(jù)庫(kù)字符集,來(lái)解決亂碼問(wèn)題。雖然查閱了資料說(shuō),不建議這樣做;
?
修改數(shù)據(jù)庫(kù)服務(wù)器字符集步驟如下:
?
?
?還別說(shuō),表里面原來(lái)中文是亂碼的,現(xiàn)在還真的能正確顯示了。
?
但系統(tǒng)以前中文正常顯示的地方現(xiàn)在卻是亂碼,找不到問(wèn)題原因。
?
后來(lái),現(xiàn)場(chǎng)重新安裝了數(shù)據(jù)庫(kù)實(shí)例,字符集是AL32UTF8的,但通過(guò)pl/sql導(dǎo)入的帶中文的初始腳本,
?
表里面還是顯示亂碼。最后經(jīng)過(guò)查找資料,是oracle客戶(hù)端字符集有問(wèn)題,導(dǎo)致插入數(shù)據(jù)庫(kù)表中文亂碼。
?
設(shè)置window系統(tǒng)環(huán)境變量: NLS_LANG = SIMPLIFIED ?CHINESE_CHINA.ZHS16GBK ,問(wèn)題解決。
?
總結(jié):
1.問(wèn)題原因沒(méi)真正明白,就直接下結(jié)論。其實(shí),在調(diào)整數(shù)據(jù)庫(kù)字符集前,可能設(shè)置客戶(hù)端字符集問(wèn)題就可以解決了。目前已經(jīng)無(wú)法驗(yàn)證了。
2.修改數(shù)據(jù)庫(kù)服務(wù)器字符集確實(shí)不值得推薦。
?
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
