阿里云的MYSQL数据库
储存含有4节的EMOJI表情的字符窜没有问题

但有些EMOJI表情是8节或者16节以上的,就会报错,报错信息如下

我做过以下尝试,设置阿里云的RDS数据库

没有什么用,谁能帮忙解决一下,谢谢!
阿里云的MYSQL数据库
储存含有4节的EMOJI表情的字符窜没有问题

但有些EMOJI表情是8节或者16节以上的,就会报错,报错信息如下

我做过以下尝试,设置阿里云的RDS数据库

关注确认字符集和编码设置:
确保数据库、表格和列的字符集和编码设置为utf8mb4,这是适用于存储Emoji表情的字符集。不要使用utf8,因为它只支持3个字节的字符,无法正确存储Emoji。
如果已经有数据,你可能需要进行字符集和编码的转换。可以使用ALTER TABLE命令进行转换。
修改连接字符集:
在应用程序连接数据库时,确保将连接的字符集设置为utf8mb4。这可以通过在连接数据库之后运行SET NAMES utf8mb4来实现。
检查客户端和服务器版本:
确保你的MySQL客户端和服务器版本都支持utf8mb4字符集。较旧的MySQL版本可能不支持该字符集。
考虑存储长度:
请注意,utf8mb4字符集下的某些Emoji表情可能占用4个字节或更多。这可能会影响列的存储长度和索引设置。
调整最大数据包大小:
在某些情况下,当存储较大的数据时,可能需要调整MySQL的最大数据包大小配置。
以下是一个更详细的示例,说明如何更改表格字符集和编码:
-- 更改数据库字符集
ALTER DATABASE your_database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- 更改表格字符集
ALTER TABLE your_table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- 更改列字符集
ALTER TABLE your_table_name MODIFY your_column_name VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;