MySQL命令行插入中文是亂碼,同時報錯

今天學習MySQL操作時遇到了兩個問題(windows環境下,powershell):

問題

  1. 命令行插入中文數據時,報錯:
Incorrect string value: '\xF0\x9F...' for column 'XXX' at row 1
  1. 命令行插入數據以後,查看結果,中文內容時亂碼

解決辦法

  1. 因爲utf8的編碼可能是兩個字節,三個字節,四個字節,但是MySQL的utf8最多三個字節,導致數據插入失敗報錯,所以需要做出如下修改:
    打開自己的my-default.ini(或者my.ini)修改
character-set-server=utf8mb4

default-character-set=utf8mb4

修改後重啓MySQL服務,然後可以進行中文內容插入了。

  1. 查看結果時出現中文亂碼,是因爲,我們MySQL編碼使用的是utf8格式,但是在cmd與powershell中使用的卻是gbk,因此需要修改一下。
set names gbk;

然後可以正常查看了

第3篇實踐記錄

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