【问题描述】
微信小程序开发,商户授权给用户后,用户便可关注小程序。有的用户的微信账户号中带有emoji表情,这样的话,直接存储到mysql5.5以下版本的数据库中会报异常。项目中的mysql数据库的版本是5.1.8的。
【问题缘由】
emoji是4个字节的,因为编码方式不同,所以如果将emoji表情直接存入utf8编码的数据库,会报错,存不进去。
【解决方案】
一. 修改数据库编码方式(mysql的版本必须为v5.5.3或更高)
1. 把数据库的编码改成utf8mb4 – UTF-8 Unicode
2. 将需要存储emoji表情的字段选择utf8mb4_general_ci
3. 数据库连接也需要改为utf8mb4
设置完成后,应该可以看到如下类似字符集设置结果。那么可以直接的存入数据库,无需做任何额外的事情了。
网友评论