Incorrect string value: '\xF0\x9F\x90\xA3' for column 'name'
这个问题,原因是UTF-8编码有可能是两个、三个、四个字节。Emoji表情或者某些特殊字符是4个字节,而Mysql的utf8编码最多3个字节,所以数据插不进去。
我的解决方案是这样的
1.在mysql的安装目录下找到my.ini,作如下修改:
[mysqld]
character-set-server=utf8mb4
[mysql]
default-character-set=utf8mb4
修改后重启Mysql
--------------------- 本文来自 战斗机金头蛮 的优快云 博客 ,全文地址请点击:https://blog.youkuaiyun.com/u010737354/article/details/52456668?utm_source=copy
修改完毕只有,需要在创建表的时候设置上编码
ENGINE=InnoDB AUTO_INCREMENT=33 CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_general_ci'
在字符也加上 `name` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL
在数据库连接地址上加上 useUnicode=true&zeroDateTimeBehavior=convertToNull
这样就可以把值加入到数据库中
eg:
复制粘贴出来就是:Noodlescar?