问题描述
当用户名称中包含表情符号(Emoji)时,存入MySQL数据库会报错。
原因分析
MySQL默认使用utf8编码,不支持4字节的Unicode字符(如表情符号)。需要使用utf8mb4编码。
解决方案
修改数据库、数据表和字段的字符集为utf8mb4:
ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;