按以下步驟檢查處理。
成都創(chuàng)新互聯(lián)公司專注于企業(yè)營銷型網(wǎng)站建設(shè)、網(wǎng)站重做改版、商南網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5開發(fā)、商城網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為商南等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
(1)HTML編碼指定是否正確?檢查head段中是否包含以下
meta
http-equiv="Content-type"
content="text/html;
charset=utf-8"
/
(2)檢查HTML文件本身的編碼有無問題。
(3)查詢數(shù)據(jù)庫之前設(shè)置編碼。
$sql
=
"set
names
utf8";
mysql_query($sql,$local_conn);
(4)檢查數(shù)據(jù)庫編碼及數(shù)據(jù)表及字段編碼是否均為UTF8。注意,數(shù)據(jù)庫編碼及表編碼及字段編碼不是一個(gè)概念。
哎,又是亂碼問題,我不多說,直接上代碼
if(!preg_match('/^.*$/u',?$_REQUEST['word'])){
$username=iconv('GB2312',?'UTF-8',?$_REQUEST['word']);
}
上面的代碼就是判斷傳來的是數(shù)據(jù)類型是不是UTF-8編碼,如果不是就轉(zhuǎn)成轉(zhuǎn)UTF-8編碼,當(dāng)然只支持GB2313的,如果傳遞過來的編碼是big5的話也還是出現(xiàn)亂碼,但是一般瀏覽器中人用的大部默認(rèn)是GB2312或是UTF8的,先用著再說
這個(gè)可能是你在安裝環(huán)境的時(shí)候出現(xiàn)了問題,在安裝mysql的時(shí)候,數(shù)據(jù)庫默認(rèn)的不是gb2312,是西歐字符,建議你重新安裝數(shù)據(jù)庫,或是使用wampsever集成安裝環(huán)境,默認(rèn)數(shù)據(jù)庫是utf8的,只要你建的數(shù)據(jù)庫整理為utf8
網(wǎng)頁文件也保存為utf8的
(不要bom頭的那種)以后寫php就很少出現(xiàn)問題啦。要是在php文件的最上面一行再加上這么一句代碼,?php
header("Content-Type:text/html;
charset=utf-8");?,那出現(xiàn)問題的幾率就更小了。
確保三碼合一就可以了..
第一個(gè)是數(shù)據(jù)庫的字符集
第二個(gè)就是存進(jìn)去的時(shí)候字符集
第三個(gè)就是顯示的時(shí)候的字符集
這三個(gè)都有可能造成亂碼;
第一個(gè) 舉例是:如果你插入的時(shí)候用的是GB2312 ,但你表中的default charset是utf8 那么,就有可能亂碼了.
第二種情況就是你插入正確 但你查詢的時(shí)候以UTF8查詢出來,但你在HTML頁面里設(shè)置編碼如果非UTF8那么也有可能造成亂碼.