MySQL支持emoji
方案1: 应用层支持
MySQL默认的数据库编码是utf8,对于emoji文字是不能直接存储的,要想存储emoji,有许多库支持对emoji的转换,例如将😊转存为:smile:
,放在数据库里,在从数据库里取出来的时候,再转换为😊,这是应用层的方案。
方案2: 存储层支持
MySQL编码设置为utf8mb4,直接支持emoji,不需要应用层的改动。
注意事项:
MySQL索引的长度不能大于767字节, utf8 1个字存3byte, utf8mb4存4byte,相对应VARCHAR的字节数分别是255和191,所以要把索引字段的长度限制到191。
ALTER TABLE <table1> MODIFY COLUMN <col1_indexed> VARCHAR(191);
ALTER TABLE <table1> CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
参考资料
I thirst for magic...
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步