今天學習MySQL操作時遇到了兩個問題(windows環境下,powershell):
問題
- 命令行插入中文數據時,報錯:
Incorrect string value: '\xF0\x9F...' for column 'XXX' at row 1
- 命令行插入數據以後,查看結果,中文內容時亂碼
解決辦法
- 因爲utf8的編碼可能是兩個字節,三個字節,四個字節,但是MySQL的utf8最多三個字節,導致數據插入失敗報錯,所以需要做出如下修改:
打開自己的my-default.ini(或者my.ini)修改
character-set-server=utf8mb4
default-character-set=utf8mb4
修改後重啓MySQL服務,然後可以進行中文內容插入了。
- 查看結果時出現中文亂碼,是因爲,我們MySQL編碼使用的是utf8格式,但是在cmd與powershell中使用的卻是gbk,因此需要修改一下。
set names gbk;
然後可以正常查看了
第3篇實踐記錄