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

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值