0%

存储表情符号

存储表情符号

默认mysql的字符集是utf8,排序规则为 utf8_general_ci

1
INSERT INTO department (name) VALUES ('😄')

在存储表情的时候会报 1366 - Incorrect string value: '\xF0\x9F\x98\x84' for column 'name' at row 1, Time: 0.007000s

这时需要修改字符集

1
ALTER TABLE department MODIFY name varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '部门名称';

这时就可以了

utf8和utf8mb4的区别

MySQL中的utf8其实是utf8mb3,最多只用3个字节存储字符,存储不了表情。如果要支持表情,需要使用完整的utf8字符集utf8mb4,可用4个字节来存储

欢迎关注我的其它发布渠道