亂碼一直是困擾PHP初學者的一個非常大的問題,現在總結下造成亂碼的原因及解決方法:
創新互聯公司是一家專注于網站設計制作、成都網站建設與策劃設計,南木林網站建設哪家好?創新互聯公司做網站,專注于網站建設10余年,網設計領域的專業建站公司;建站業務涵蓋:南木林等地區。南木林做網站價格咨詢:18982081108
一、HTML頁面編碼:meta http-equiv=content-type content=text/html; charset=utf-8 這里的編碼要和數據庫編碼,及連接數據庫編碼;
二、文件在存儲編碼:比如文件inde.php,改變其存儲編碼為所需編碼。只需用EditPlus等文本編輯軟件 文件另存為,在編碼中選擇正確的編碼(這點很多人都會忽略);
三、數據庫編碼:比如用的是phpmyadmin 選擇數據庫后,選擇操作選項。下面有一個整理,這里面也要設置成統一的編碼;
四、表編碼:操作和第三點類似。這里就不重復了;
五、字段編碼:在建表的建字段的時候,有個整理。如果內容有漢字,就一定要改成統一的編碼;
六、連接數據庫時mysql_select_db()后面,要加一句 mysql_query( set names utf8 );
七、 (剛遇到的)本地測試成功后的網站,傳到網上去,會有亂碼。可能會是在本地導出數據時沒有選擇正確的編碼,所以才會在導入到web上后有亂碼問題。
php數據庫中文亂碼的解決辦法:1、創建數據庫時,規定字符類型為uft8;2、創建表時,規定字符類型為utf8;3、在PHP的MySQL連接函數中,添加語句“mysql_query("set names 'utf8'")。
用phpmyadmin添加mysql數據庫,然后用php操作數據庫出現亂碼的解決辦法:
1:確認phpmyadmin用的mysql字符集為utf-8
unicode(utf8);mysql連接校對為utf8_general_ci,language為中文-chinese
simplified
2:確認每個數據表的“整理為”utf8_general_ci;
3:在php連接mysql數據庫后加個語句來指定數據庫的字符集,
例如:$conn=mysql_connect("localhost","root","你的密碼");
//連接數據庫
mysql_query("set
name
'utf8'");
其實,只要注意文件編寫的時候編碼、數據庫的編碼一般就不會有這個問題的,但是,比如你用DW(dwcs4貌似沒有這個現象)打開文件,它會以默認的編碼讀取,一旦你保存了,那就完了,用EditPlus打開之后,右下角有編碼提示,如果發現不對,另存為,覆蓋一下,就可以了