建表语句:
CREATE TABLE testemoji (
`id` bigint(20) NOT NULL,
`reportContent` varchar(320) DEFAULT NULL COMMENT '报告内容',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='锁上报记录表';
数据:
INSERT INTO testemoji (
id,
reportContent
)
VALUES
(
2620780,
'😁😒🤔😙😬😳😄🐟😊😣🌸😀🙂😂🀄️'
)
结果报错:
[Err] 1366 - Incorrect string value: '\xF0\x9F\x98\x81\xF0\x9F...' for column 'reportContent' at row 1
解决办法:
用Base64编码后存储在数据库中,从数据库中取出来再解码
缺点:
1、编码和解码会影响性能
2、编码后回浪费存储空间
参考:
https://blog.csdn.net/world6/article/details/83272047