亂碼主要以下幾個原因:
網(wǎng)站制作、成都網(wǎng)站制作服務(wù)團隊是一支充滿著熱情的團隊,執(zhí)著、敏銳、追求更好,是創(chuàng)新互聯(lián)的標(biāo)準與要求,同時竭誠為客戶提供服務(wù)是我們的理念。成都創(chuàng)新互聯(lián)把每個網(wǎng)站當(dāng)做一個產(chǎn)品來開發(fā),精雕細琢,追求一名工匠心中的細致,我們更用心!
1。數(shù)據(jù)表中,表本身的編碼 和 字段編碼,均為UTF8。
2。在寫入數(shù)據(jù)等數(shù)據(jù)庫操作前,發(fā)送語句 'set names utf8'
3。PHP文件都是UTF8編碼,無簽名(無BOM)
4。頁面上使用header或meta保證輸出的頁面是UTF8編碼。meta http-equiv="Content-Type" content="text/html; charset=utf-8" /
鮮少老師
我來給你做一個綜合解釋吧。
在正常情況下。
PHP腳本 HTML 已經(jīng)瀏覽器 然后就是數(shù)據(jù)庫。
都有自己的字符集。何謂字符集。我想你如果是一個真正想熱衷于學(xué)PHP
那么你應(yīng)該花一定的時間去了解一下字符集的問題。
因為無論你以后做什么項目開發(fā)什么網(wǎng)站都是要牽涉到字符集。
就好比我做第一個項目。因為字符集搞的死去活來。
好進入正題。怎么解決問題呢?
1.PHP的字符集。一般PHP網(wǎng)頁的是嵌套在html頁面以內(nèi)。那么如果在沒有沖突的情況下可以使用
header方面設(shè)置。比如?php header ... ?
2.HTML的字符集,一般是網(wǎng)頁的優(yōu)先字符集,這個問題是牽涉到你的網(wǎng)站是什么定位,比如:你的網(wǎng)站僅僅適合國內(nèi)的客戶。那么用gbk 或者gb2312.如果想老外也開湊湊熱鬧的話,就用utf-8.至于怎么設(shè)置這個字符集,你可以在meta這個標(biāo)記中看到。
3.數(shù)據(jù)庫的問題。mysql_query("set names gbk"); 這句話意思就是說,在操作數(shù)據(jù)庫的時候已這個字符集去讀寫。當(dāng)然這個字符集要對應(yīng)你的頁面的字符集哦。
4.瀏覽器。瀏覽器的問題是最萬惡的,因為每個瀏覽器默認的是gb2312.當(dāng)然不同的瀏覽器是不同的。所以要想成為一名優(yōu)秀的程序員,寫出優(yōu)質(zhì)的代碼。你還得去了解每個瀏覽器的差別。當(dāng)然目前是不需要的,當(dāng)然這個問題你慢慢學(xué)習(xí)。寫代碼的過程中會慢慢了解到的。
你要做的就是將所有使用字符集確保一致性
問題就這些吧,如果有什么問題可以繼續(xù)問哦。凡是對PHP有熱情的人。我都會盡全力幫一下。哈哈。因為這個加物以類聚。還有這個內(nèi)容絕對不是復(fù)制粘貼的。
編輯php的配置文件 php.ini
找到default_charset配置項,然后在下邊一行添加想要改變的字符集
default_charset = "utf8"
然后重啟apache或者是php-fpm服務(wù),現(xiàn)在再打開你的網(wǎng)站看看吧,是不是沒有亂碼了
或者采用編輯工具把文件的字符集轉(zhuǎn)為UTF-8格式。
望采納 Thx