我使用mysql工作台创建一个表来创建一个表,并使用以下命令插入包含4字节表情符号的1条记录:
SET NAMES utf8mb4; CREATE TABLE IF NOT EXISTS tbl_message message_message
VARCHAR(1000) DEFAULT CHARSET=utf8mb4;
INSERT INTO 'tbl_message message_message VALUES ('Hello ');
当我查询数据时,它是正确的,并显示10个字节的数据长度。当我关闭mysql工作台并返回记录显示'你好?'数据长度为7个字节。
我的my.cnf显示:
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character_set_server=utf8mb4
collation_server=utf8mb4_unicode_ci
是什么导致4字节表情符号变为3字节?