默认mysql的字符集是utf8,排序规则为 utf8_general_ci
INSERT INTO department (name) VALUES ('')
在存储表情的时候会报 1366 - Incorrect string value: '\xF0\x9F\x98\x84' for column 'name' at row 1, Time: 0.007000s
这时需要修改字符集
ALTER TABLE department MODIFY name varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '部门名称';
这时就可以了
MySQL中的utf8其实是utf8mb3,最多只用3个字节存储字符,存储不了表情。如果要支持表情,需要使用完整的utf8字符集utf8mb4,可用4个字节来存储
https://zhhll.icu/2023/数据库/关系型数据库/MySQL/问题/3.存储表情符号/
本文由 mdnice 多平台发布