用php向Mysql資料庫插入中文資料時資料庫中顯示亂碼

來源:互聯網
上載者:User

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");
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.