首頁  >  問答  >  主體

mysql 插入的数据是乱码

黄舟黄舟2717 天前445

全部回覆(4)我來回復

  • 大家讲道理

    大家讲道理2017-04-17 13:30:37

    客戶端的編碼跟資料庫的編碼不統一所造成的。
    你是從terminal輸入麼?
    例如你terminal中的編碼是GBK,而伺服器的資料庫雖然是採用 UTF-8 編碼,但卻可以識別通知伺服器端的 GBK 編碼資料並將其自動轉換為 UTF-8 進行儲存。可以使用以下語句來快速設定與客戶端相關的編碼集:
    set names gbk;
    設定完成後即可解決客戶端插入資料或顯示資料的亂碼問題了,但我們馬上會發現這種形式的設定只會在目前視窗有效,當視窗關閉後重新開啟CMD 用戶端的時候又會出現亂碼問題;那麼,如何進行一勞永逸的設定呢?在 MySQL 的安裝目錄下有一個 my.conf 設定文件,透過修改這個設定檔可以一勞永逸的解決亂碼問題。在這個設定檔中 [mysql] 與客戶端設定相關,[mysqld] 與伺服器設定相關。預設配置如下:

    [mysql]
    default-character-set=utf8
    [mysqld]
    character-set-server=utf8

    這時只需要將下的預設編碼 default-character-set=utf8 改為 default-character-set=gbk ,重新啟動 MySQL 服務即可。

    回覆
    0
  • 黄舟

    黄舟2017-04-17 13:30:37

    導入前 set names utf8;

    回覆
    0
  • 高洛峰

    高洛峰2017-04-17 13:30:37

    這個一般是字元集設定不一致的問題,透過編輯器設置,或是在程式碼裡設定試試

    回覆
    0
  • 高洛峰

    高洛峰2017-04-17 13:30:37

    剛學習寫程式的時候也出現過各種亂碼,導入資料庫亂碼,資料庫不亂碼之後,從資料庫讀出的資料顯示的亂碼,各種亂碼,後來全部統一utf8,
    資料庫設定utf8 ,
    檔案匯入時檔案的文字類型也是utf8,
    透過程式碼匯入也是set一下charset為utf8
    編輯器編輯的檔案格式utf8,
    網頁的charset也utf8.

    回覆
    0
  • 取消回覆