php-emoji使用微信,微信开发中emoji表情的问题

做微信开发的时候就会发现,存储微信昵称必不可少。之前的项目里面微信昵称很多都是空白,后来才知道是因为emoji表情的问题。原来是因为Mysql的utf8字符集是3字节的,而emoji是4字节,这样整个昵称就无法存储了。

我收集了一些解决方法:

1、修改数据库  使用utfmb4字符集

修改mysql配置文件  character-set-server=utf8mb4

改完之后重启mysql服务

修改表   ALTER TABLE 表名 CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;

2、使用base64编码

base64_encode编码之后入库,出库的时候base64_decode解开

3、过滤emoji表情$nickname = json_encode( $nickname );

$nickname = preg_replace( "#(\\\ue[0-9a-f]{3})#ie", "", $nickname );

$nickname = preg_replace( "#(\\\ud[0-9a-f]{3})#ie", "", $nickname );

$nickname = json_decode( $nickname );

安卓 ios 亲测可用  2016.9.27

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值