emoji,引发mysql存储错误
插入mysql时会出错:Incorrect string value
emoji
emoji就是表情符号
来自日语词汇“絵文字”(假名为“えもじ”,读音即emoji)
误读作“一磨叽”,读作“诶磨叽”
emoji表情占4个字节,一般utf-8 是三个字节,我们需要改变mysql的存储编码格式了
将utf8 改成 utf8mb4
查看mysql当前的编码
show viariables like '%char%';
看mysql支持的编码
show charset;
修改mysql数据库的编码可以参考:
Linux下MySQL数据库乱码 /blog/single/id/685.html
或者干脆干掉emoji,强制将4个字节转换为3个字节:
preg_replace('/[\x{10000}-\x{10FFFF}]/u', '', $emoji);