Mysql 支持emoji表情存储

作者: poxiao 分类: Mysql 发布时间: 2018-09-27 11:58

报错的原因主要是####

普通的字符串或者表情都是占位3个字节,所以utf8足够用了,但是移动端的表情符号占位是4个字节,普通的utf8就不够用了,为了应对无线互联网的机遇和挑战、避免 emoji 表情符号带来的问题、涉及无线相关的 MySQL 数据库建议都提前采用 utf8mb4 字符集

但我们是可以修改的 :

第一种保存emoji标签的方式的方式 (mysql版本要5.5+)####1. 修改表字段字符集为utf8mb4

2. 再去修改表字符集utf8mb4

3. 再去修改数据库的字符集utf8mb4

 

4. 重启mysql服务

5.修改连接字符串

后面字符集参数去掉,改为

 

第二种保存emoji标签的方式的方式 (通过java代码在程序中处理,将emoji转换成utf8字符集保存)

/**
*将emoji标签转换成utf8字符集保存进数据库
*@param str 需要转换的字符串
*@return
*/
public static String emojiConvert(String str) {
String patternString = “([\x{10000}-\x{10ffff}\ud800-\udfff])”;

 

参考资料:

https://www.jianshu.com/p/b0f5eb5d7cc3
https://my.oschina.net/xiejunbo/blog/513741

本文链接:Mysql 支持emoji表情存储

转载声明:本站文章若无特别说明,皆为原创,转载请注明来源:破晓(http://www.code2048.net),谢谢!^^


如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论

邮箱地址不会被公开。 必填项已用*标注