eggjs在使用egg-mysql插入emoj表情出错解决

在存入emoj表情出错解决到数据库时提示一下错误信息:

sqlMessage: "Incorrect string value: '\\xF0\\x9F\\x98\\x80\",...' for column 'wx_json' at row 1";

解决方案:
在有表情的字段上就应该这样做,将该字段设置为utf8mb4

ALTER TABLE table_name MODIFY  colum_name  VARCHAR(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

然而你还需要设置下表的字符集

ALTER TABLE table_name CHARSET=utf8mb4;

当然你可能还需要设置本数据库为utf8mb4啊

SET NAMES utf8mb4
ALTER DATABASE caitu99 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

设置完成之后,那么接下来会出现两个现象,
第一:你可以存储表情了。
第二:由于未知原因,你还是不能存储表情。
对于第二种情况的同学,我要告诉你的是,当你去操作这些需要加入表情的字段之前,请插入这条sql语句。
SET NAMES utf8mb4;
即可。
也就是说每次插入啊修改啊之前都set一次就没有问题了。
相信我,绝对可行。


image.png

类似这样。

你可能感兴趣的:(eggjs在使用egg-mysql插入emoj表情出错解决)