叫我大侠
人可以失败,但不可以被击败
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);
<< 上一篇 php 5.6.7安装 mysql中char varchar nchar nvarchar定义和区别 下一篇 >>
文章标签
随意 | Created At 2014 By William Clinton | Contact Me: 1619488373@qq.com | 蜀ICP备14002619号 |