牛骨文教育服务平台(让学习变的简单)
博文笔记

MySQL存储Emoji表情符号问题及解决方案

创建时间:2016-10-26 投稿人: 浏览次数:4481

emoji就是表情符号;词义来自日语(えもじ,e-moji,moji在日语中的含义是字符),现已普遍应用于手机短信和网络聊天软件,是很流行使用的一种表情字符。


MYSQL 5.5 之前, UTF8/utf8mb3 编码只能存储最大3个字节的字符, 从MYSQL5.5开始,可支持4个字节UTF编码字符,但要特殊标记,即显式定义表或字段为utf8mb4编码类型。如果表或字段已经定义为utf8/utf8mb3,可使用alter table语句将utf8/utf8mb3升级为utf8mb4。
    
对应语句如下:
    ALTER TABLE app_message MODIFY title  VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT "标题";


说明:

1.对于BMP(Basic Multilingual Plane)字符,utf8跟utf8mb4具有相同的存储特性:使用相同的编码和编码值,以同样的长度存储。

2.将表或列的字符编码类型由utf8升级成utf8mb4时,不需要转换储存的字符数据,因此也不会丢失数据


utf8mb4的详细说明碱MySQL官方文档:

http://dev.mysql.com/doc/refman/5.6/en/charset-unicode-utf8mb4.html

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。