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