今天学习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篇实践记录