美文网首页程序员
mysql 对 Emoji表情支持

mysql 对 Emoji表情支持

作者: 良人与我 | 来源:发表于2019-01-14 17:40 被阅读55次

Emoji表情是4个字节
而mysql的utf8编码最多3个字节,所以数据插不进去,而utfmb4是支持四个字节的。
所以解决方案就是:将mysql编码从utf8转换成utf8mb4。

具体要修改的地方如下:

1 修改mysql 配置,添加如下内容

[client]
default-character-set = utf8mb4 # 客户端数据默认字符集
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

2 数据库配置

创建数据库时候
charset 设置为 utf8mb4
collation 设置为 utf8mb4_general_ci


image.png

创建的数据表

CREATE TABLE `person` (
  `dtype` varchar(31) NOT NULL,
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `age` int(11) NOT NULL,
  `email` varchar(255) DEFAULT NULL,
  `mobile` varchar(255) DEFAULT NULL,
  `name` varchar(255) DEFAULT NULL,
  `hobby` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

如果是已经创建好的数据库做如下修改(1、2 步就可以)
1 对每一个数据库:

ALTER DATABASE dababase_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;

2 对每一个表:

ALTER TABLE tablle_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

//3 对存储emoji表情的字段:

//ALTER TABLE tablle_name CHANGE `field_name` `field_name` VARCHAR(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

修改后表结构:

CREATE TABLE `person` (
  `dtype` varchar(31) COLLATE utf8mb4_unicode_ci NOT NULL,
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `age` int(11) NOT NULL,
  `email` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `mobile` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `hobby` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

接下来测试下是否可以保持emoji 表情

通过postman 调用保存接口插入数据


image.png

再查询出所有数据


image.png

再看数据库里的内容


image.png

相关文章

  • 第三个模块 让Mysql支持Emoji表情

    让Mysql支持Emoji表情Emoji表情,插入Mysql时失败了!论mysql5.7.13性能优化之索引优化 ...

  • mysql 对 Emoji表情支持

    Emoji表情是4个字节而mysql的utf8编码最多3个字节,所以数据插不进去,而utfmb4是支持四个字节的。...

  • Mysql支持emoji表情

    教程所示图片使用的是 github 仓库图片,网速过慢的朋友请移步>>> (原文)Mysql 支持 emoji 表...

  • MySql支持Emoji表情

    1.原因: UTF-8编码有可能是两个、三个、四个字节。Emoji表情是4个字节,而Mysql的utf8编码最多3...

  • MySQL支持emoji表情

    前提条件 MySQL版本需要在5.5.29版本以上才能支持。查看MySQL版本命令: 操作步骤 停止mysql服务...

  • 让Mysql支持Emoji表情

    Emoji表情,插入Mysql时失败了! UTF-8编码有可能是两个、三个、四个字节。Emoji表情是4个字节,而...

  • 使MYSQL支持emoji表情

    1.首先介绍下常用的字符集 ASCII:美国信息互换标准编码;英语和其他西欧语言;单字节编码,7位表示一个字符,共...

  • 让MySql支持Emoji表情

    解决方案:将Mysql的编码从utf8转换成utf8mb4。 需要 >= MySQL 5.5.3版本、(经检测5....

  • MySQL支持存储emoji表情

    项目中,项目之前使用的utf8的编码集,但是项目测试过程中,发现需要支持emoji表情,所以考虑将utf8编码更改...

  • MySQL支持Emoji表情包储存

    首先把数据库修改为utf8mb4的字符集 如图,是Navicat的修改方式 然后把表中会存放有表情的字段修改字符集...

网友评论

    本文标题:mysql 对 Emoji表情支持

    本文链接:https://www.haomeiwen.com/subject/ejfjdqtx.html