【开发日常】解决mysql存储emoji报错问题

一般情况下,mysql在创建表单的时候会默认将字符串类型的字段字符集设置成utf8
在这里插入图片描述

对于绝大多数的场景下,这样的设置并无问题。但是当用户提交的信息中包含了诸如emoji表情在内的超出3字节utf8编码的字符时,插入修改都会出现问题:
在这里插入图片描述
这时就需要将默认的utf8改成utf8mb4
在这里插入图片描述

utf8mb4与utf8不同,他的全称是(utf8 most byte4)。专门用来兼容四字节的unicode。

由于utf8mb4是utf8的超集,所以直接将编码改为utf8mb4之后不需要做其他转换。

然而,手动一个一个修改实在是太麻烦了,我们可以封装一个存储过程:

CREATE DEFINER=`admin`@`%` PROCEDURE `convert_charset`(IN
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值