微信昵称中含有emoji字符等特殊符号时引起的存储问题

问题:当PHP获取微信昵称并保存在数据库中,会报错;当然待从数据库中读取时只能是空的。

原因:查询得知,一般数据库字体编码为utf-8, 3字节, emoji为unicode编码,4字节,数据库插入不成功,只能报错

解决1:数据库编码选择utf8mb4字符集,适用于全新数据库

解决2:在插入数据时,将可能包含特殊符号的字符串编码(utf8_encode),从数据库读取数据时,同样字段进行解码(utf8_decode)

posted @ 2015-12-02 21:54  蜗牛的未来  阅读(6762)  评论(1编辑  收藏  举报