Mysql插入中文报错

来源:互联网 发布:java cs 框架 编辑:程序博客网 时间:2024/05/18 12:01

插入语句:insert into person(id,name,age,sex)values(1,’黄蓉’,24,’女’);
报错:Incorrect string value: ‘\xBB\xC6\xC8\xD8’ for column ‘name’ at row 1
这里写图片描述
分析:这是中文乱码的原因,深层原因是UTF-8编码有可能是两个、三个、四个字节。Emoji表情或者某些特殊字符是4个字节,而Mysql的utf8编码最多3个字节,所以数据插不进去。
解决方案:
1.在mysql的安装目录下找到my.ini,作如下修改:
[mysqld]
character-set-server=utf8mb4
这里写图片描述
2.修改已经建好的表转换成utf8mb4
alter table person convert to character set utf8mb4 collate utf8mb4_bin;
最终成功。结果如下:
这里写图片描述
参考:网络资源(关键字可以直接将报错输入浏览器进行搜索)。

0 0