1. 程式人生 > >MySQL命令列插入中文是亂碼,同時報錯

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篇實踐記錄