探討PHP獲取Oracle數(shù)據(jù)亂碼的相關(guān)問(wèn)題解決辦法
PHP語(yǔ)言的功能非常強(qiáng)大,它的影音范圍也非常廣泛。我們今天要為大家介紹的是PHP獲取Oracle數(shù)據(jù)亂碼的相關(guān)解決辦法,希望對(duì)大家有所幫助。oracle的編碼是GBK,PHP頁(yè)面的編碼是UTF-8,在PHP的頁(yè)面進(jìn)行了一次iconv轉(zhuǎn)碼,以保證編碼統(tǒng)一
#t#出的問(wèn)題是:
不管轉(zhuǎn)碼不轉(zhuǎn)碼,頁(yè)面上從oracle獲取的中文始終顯示為“?”,即一個(gè)個(gè)的問(wèn)號(hào)。
解決問(wèn)題:
從mysql查詢的角度出發(fā),我覺(jué)得是少了set names ***,但問(wèn)了DBA,oracle沒(méi)有相關(guān)的命令行,所以排出這個(gè)問(wèn)題;
又把問(wèn)題的集中點(diǎn)放在轉(zhuǎn)碼上,折騰半小時(shí),把程序里各個(gè)地方都加了測(cè)試參數(shù),發(fā)現(xiàn)根源上的數(shù)據(jù)就有問(wèn)題,不在轉(zhuǎn)碼上,于是寫(xiě)了單獨(dú)一個(gè)php的oracle的查詢頁(yè)用來(lái)測(cè)試,結(jié)果如我所想還是亂碼,所以立刻排出頁(yè)面的問(wèn)題;
***在google的幫助下找到一篇問(wèn)章,說(shuō)是需要在init.d下的httpd里引入環(huán)境變量,由于本機(jī)沒(méi)有那個(gè)啟動(dòng)文件,所以只能在apachectl里加入如下代碼:
- export NLS_LANGUAGE=”SIMPLIFIED CHINESE”
重啟apache服務(wù),問(wèn)題解決!!

















