起因:
- 由于数据库及属性一致设为utf8,而utf8只支持1-3个字节。当用户昵称为emoji表情时,获取用户基本信息时会乱码。
解决步骤:
- 升级mysql到5.5以上,即建库时可以使用utf8mb4编码。
- 更改mysql设置,更改/etc/my.cnf配置文件。
在[client]加入default-character-set=utf8mb4;
在[mysqld]加入character_set_server = utf8mb4; - 重启mysql数据库。把要插入特殊表情的数据库、表、字段的编码改成utf8mb4。