1.我寫了php代碼向mysql資料庫插入一個帶有中文的欄位值,在phpMyadmin查看顯示亂碼,在mysql控制台查看也是亂碼,我已經把每個欄位的定序改為uft8_general_ci,在phpmyadmin裡面直接插入顯示正常,在mysql控制台直接插入也顯示正常,只是通過php插入就不正常,我也在php代碼寫了header("Content-Type:text/html;charset=utf-8");
3.請大神幫看下問題出在哪裡?
回複內容:
1.我寫了php代碼向mysql資料庫插入一個帶有中文的欄位值,在phpMyadmin查看顯示亂碼,在mysql控制台查看也是亂碼,我已經把每個欄位的定序改為uft8_general_ci,在phpmyadmin裡面直接插入顯示正常,在mysql控制台直接插入也顯示正常,只是通過php插入就不正常,我也在php代碼寫了header("Content-Type:text/html;charset=utf-8");
3.請大神幫看下問題出在哪裡?
看你的資料庫表裡面有正常的中文,那就試插入資料的時候出現的問題。統一字元編碼格式:
確保資料庫,表,欄位設定的都是utf-8
確保串連資料庫的時候設定字元集是utf-8
確保程式檔案是utf-8
確保mysql安裝程式的設定檔設定字元utf-8
我找到問題關鍵了,下面兩位回答的我都試過了,不起效果,問題出在mysql.ini配置少了一句話default-character-set = utf8 ,我是安裝wampserver後用這個軟體自己安裝的mysql他的mysql.ini沒有那句話,,而且如果加入這句話位置也不能亂加,必須加在我圖片指出的位置
用show variables like 'character_set_%;查看修改ini檔案後的字元編碼如
你要設定mysql編碼 執行sql "set names utf8"
設定字元集試試
mysqli_set_charset($con, "utf8");