php連接mysql亂碼是開發(fā)過程當(dāng)中,很多朋友經(jīng)常遇到的問題,我們總結(jié)了9步來徹底解決連接后亂碼的問題,一個核心思想,就是:一定要多個不同的文件系統(tǒng)中一定要統(tǒng)一編碼。
我們將這些叫做:數(shù)據(jù)庫字符集獨孤9賤:
?第一賤:html編碼與MySQL編碼一致
?第二賤:PHP編碼與MySQL編碼一致
?第三賤:若有header頭發(fā)送字符集,請與數(shù)據(jù)庫一樣
?第四賤:要和頁面的文字編碼一致
?第五賤:數(shù)據(jù)庫建庫的字符集要統(tǒng)一
?第六賤:表的字符集要統(tǒng)一
?第七賤:列的字符集要統(tǒng)一(表設(shè)了,列就默認(rèn)寫表的)
?第八賤:連接,校驗的字符集要統(tǒng)一
?第九賤:結(jié)果集的字符集要統(tǒng)一
我們通過截圖來完成其中的各個不同的步驟。下例中所有的字符集要均為utf-8來演示
1,html和PHP文件的編碼,示例中:拿notepad++來演示。將PHP和html都要設(shè)為這種字符集。
2,如果php中有header頭,一定要是utf-8的
header('content-type:text/html;charset=utf-8');
3,如果html文件編碼是utf-8的也要設(shè)置為一置
4,數(shù)據(jù)庫創(chuàng)建的時候庫為utf8
5,表和列創(chuàng)建的時候表為utf-8
6,數(shù)據(jù)庫的連接,校驗為utf-8
通過mysql_set_charset('utf8')來完成
注:數(shù)據(jù)庫的字符集聲明和文件中的略有不同。utf8為mysql數(shù)據(jù)庫的,utf-8為文件中使用的。
如果你覺得眼前需要更好的提高你可以來千鋒學(xué)PHP,國內(nèi)排名第一的PHP機構(gòu)。