PHP+MySQL中文亂碼

  1. PHP+MySQL出現中文亂碼的原因。

    1. MYSQL數據庫的編碼是utf8,與PHP網頁的編碼格式不一致,就會造成MYSQL中的中文亂碼。

    2. 使用MYSQL中創建表、或者選擇字段時設置的類型不是utf8,而網頁編碼不是utf8,也可能造成MYSQL中文亂碼.

    3. PHP頁面的字符集與數據庫的編碼不一致。

    4. PHP連接MYSQL數據庫,操作是設定的語句指定的編碼和頁面編碼,PHP頁面編碼不一致。

    5. 用戶提交的HTML頁面編碼,和顯示數據的頁面編碼不一致 ,就肯定會造成PHP頁面亂碼

  2. 怎麼解決中文亂碼的問題。

    1. 網頁編碼設置。一般在HTML代碼中的文件頭<html>中加入屬性:

    <meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″> 

    保證,網頁是"utf-8"編碼。

    2. PHP代碼設置。在php代碼的開始部分加入以下代碼:

    header(”Content-type: text/html;charset=utf-8″);

    且要求保存的文件編碼方式是utf-8(可以用EditPlus打開設置,如下圖),這樣就保證了該文件也是utf-8編碼。

    3. 數據庫中表的字段中存儲中文的部分,要設置爲utf8_general_ci類型。

    4.PHP在連接數據庫操作時,要設置操作的字段類型爲utf8,設置方法如下:

    mysql_connect(’localhost’,'user’,'password’);mysql_select_db(’db’);mysql_query(”set names utf8;”); //**設置字符集***

發佈了27 篇原創文章 · 獲贊 8 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章