存储表情符号
默认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个字节来存储