新聞中心
PHP在顯示數(shù)據(jù)庫中的中文數(shù)據(jù)時顯示亂碼
其實,只要注意文件編寫的時候編碼、數(shù)據(jù)庫的編碼一般就不會有這個問題的,但是,比如你用DW(dwcs4貌似沒有這個現(xiàn)象)打開文件,它會以默認的編碼讀取,一旦你保存了,那就完了,用EditPlus打開之后,右下角有編碼提示,如果發(fā)現(xiàn)不對,另存為,覆蓋一下,就可以了

宜川網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應式網(wǎng)站建設(shè)等網(wǎng)站項目制作,到程序開發(fā),運營維護。成都創(chuàng)新互聯(lián)從2013年創(chuàng)立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)。
php數(shù)據(jù)庫中文亂碼是怎么造成的?
確保三碼合一就可以了..
第一個是數(shù)據(jù)庫的字符集
第二個就是存進去的時候字符集
第三個就是顯示的時候的字符集
這三個都有可能造成亂碼;
第一個 舉例是:如果你插入的時候用的是GB2312 ,但你表中的default charset是utf8 那么,就有可能亂碼了.
第二種情況就是你插入正確 但你查詢的時候以UTF8查詢出來,但你在HTML頁面里設(shè)置編碼如果非UTF8那么也有可能造成亂碼.
PHP讀取Access數(shù)據(jù)庫 出亂碼
access的中文版默認是GBK格式的,是無法改變字符類型的,所以用php讀取的時候會亂碼。
解決方法是:使用iconv轉(zhuǎn)換
一、使用 iconv函數(shù)制作一個轉(zhuǎn)碼的自定義從GBK轉(zhuǎn)到UTF-8的函數(shù),如以下代碼:
function enc($c){return iconv('gbk','utf-8',$c);}
二、為了寫入數(shù)據(jù)庫的編碼是符合數(shù)據(jù)庫需要的,所以我們還要制作一個從UTF-8轉(zhuǎn)向GBK的函數(shù):
function dec($c){return iconv('utf-8','gb2312',$c);}
制作好了轉(zhuǎn)碼函數(shù),接下就是正常使用了。在從數(shù)據(jù)庫里面調(diào)數(shù)據(jù)顯示在頁面的時候使用enc()函數(shù),從頁面提交數(shù)據(jù)到數(shù)據(jù)庫時使用dec()函數(shù),這樣就可以很好的解決PHP使用UTF-8編碼,ACCESS使用系統(tǒng)默認編碼的問題了。
分享文章:php顯示數(shù)據(jù)庫亂碼 php出現(xiàn)亂碼如何解決
URL地址:http://www.dlmjj.cn/article/dddogeg.html


咨詢
建站咨詢
