Mysql保存emoji表情

本文介绍了在Mysql中保存emoji表情的两种方法:一、将数据库字符集改为utf8mb4;二、使用EmojiConverter库,将emoji转换为字符串存储,取出时再转回。该文提供了一个在不修改mysql库编码情况下存储emoji的友好方案。
摘要由CSDN通过智能技术生成

Mysql保存emoji表情

  • Emoji 在我们生活中真的是越来越常见了,几乎每次发消息的时候不带个 Emoji,总觉得少了点什么,似乎干巴巴的文字已经无法承载我们丰富的感情了。对于我们开发者来说,如何将 Emoji 存入 MySql 数据库或者取出来,就变成了一种必须掌握的技能了。

  • Emoji 是一种图形符号,能够很直观地反应出某种文字含义。它让我想起远古时代的象形文字

在这里插入图片描述

  • 糟糕
    如果我们直接将 Emoji 表情存入数据库的话,通常会出现下面这个错误。
    在这里插入图片描述

mysql库不能修改为utf8mb4编码,但又想存emoji表情怎么办?
因为数据库的字符编码一般是 utf8(支持的编码范围为 \u0000-\uFFFF),而 Emoji 所在的编码范围是 \u1F601-\u1F64F,超出 MySql 的边界了。

怎么解决这个问题呢?

一、utf8mb4

可以将 MySql 的字符集由 utf8 调整为 utf8mb4。utf8mb4 是 MySql 在 5.5.3 版本之后增加的一个编码方式,用来兼容四字节的 Unicode(包括 Emoji)。

理论上,utf8mb4 是 utf8 的超集,其中 mb4 是 most bytes 4 的意思,将字符集修改为“utf8mb4”,并不会对已有的 utf8 编码读取产生任何问题。

但通常这种方式并不是最优解,因为应用层还需要将 MySql 的连接方式作出以下调整:

jdbcUrl = jdbc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值