mysql 对 Emoji表情支持
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 = FALSEcharacter-set-server = utf8mb4collation-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
说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » mysql 对 Emoji表情支持
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » mysql 对 Emoji表情支持