php-mysql下的中文亂碼問題

亂碼原因分析:

web應用之所以會出現亂碼問題,根本原因是各部分文件編碼不一致造成的,像PHP對中文的編碼方式,HTML對中文的編碼方式,MySQL表的編碼方式.這三種文件的不一致纔是亂碼問題的罪魁禍首.

解決方法:

(1)    在創建數據庫和表的時候我已經選擇了UTF-8的編碼方式,但是數據表中的排列規則默認是latin1_swedish_ci,我把它調整爲:utf8_general_ci.這樣保證了MySQL數據庫編碼方式是utf-8.


(2)    在所有HTML代碼的裏面設置編碼方式爲utf-8.實現 代碼爲:<meta charset="utf-8"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />這樣保證了HTML文件的編碼方式爲utf-8.


(3)    對於PHP文件,首先在每一個PHP文件的第一行添加header("content-Type: text/html; charset=utf-8");代碼,以保證數據在通過HTTP傳輸時的編碼爲utf-8。然後是最關鍵的步驟: 在每一個執行數據庫查詢的PHP代碼處設定MySQL數據與PHP的          交互方式爲utf-8實現代碼爲://設置讀取數據庫的數據編碼格式  

mysqli_query($conn ,"set character set 'utf8'");//讀庫,$conn代表連接的數據庫 

mysql_query($conn,"set names 'utf8'");//寫庫 後面測試中,這兩行代碼保證了輸入數據庫中的數據是正常的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章