php語言鏈接mysql數據庫中文顯示問題

MySQL數據庫編碼、html頁面編碼、PHP或html文件本身編碼要全部一致。
  1、MySQL數據庫編碼:建立數據庫時指定編碼(如utf_general_ci),建立數據表、建立字段、插入數據時不要指定編碼,會自動繼承數據庫的編碼。數據庫連接時,也有編碼,可以在連接完數據庫後,執行
mysql_query('SET NAMES utf8');//將utf8換成你的編碼,如gbk。

  2、html頁面的編碼,指的是這一行的設置:<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

  3、PHP或html文件本身的編碼:用editplus打開php文件或html文件,另存時,選擇的編碼,如果數據庫和頁面編碼是gbk,則這兒的編碼選擇ansi;如果數據庫和頁面編碼是utf-8,則這兒也選擇utf-8。

  4、另外要注意的是,Javascript或Flash中傳遞的數據是utf-8編碼,如果數據庫和頁面編碼是gbk,要進行轉碼,然後寫入數據庫。iconv('utf-8', 'gbk', $content);

      5、在PHP程序中,可以加上一行,來指定PHP源程序的編碼:header('Content-type: text/html; charset=utf-8');

         6、記得將數據庫編碼方式改爲utf8(用phpmyadmin),php頁面編碼方式改爲utf8(用notpad++就可以改),mysql的my.ini頁面改爲utf8,如下:[mysql]

                         default-character-set=UTF8

                         # SERVER SECTION
                         [mysql]

                         default-character-set=UTF8

代碼實例:

$conn=mysqli_init();
if(!$conn){
    echo "mysqli_init error !!";
    exit(0);
}
$ret=mysqli_real_connect($conn,"localhost","root","root",
                   "sleep",3306,"herder",MYSQLI_CLIENT_FOUND_ROWS);

mysqli_query($conn,"set names utf8");

運行後顯示中文


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