目前得出的答案是数据库没有添加 Emoji 支持, 导致从微信那边获取过来的带有 Emoji 表情的昵称出现乱码, 有两种解决方式:
1是给数据库添加 Emoji 支持, 在 SO 上有解决的方法
2在用户进行注册时把获取过来的乱码过滤掉, 只留下正常的字符, 过滤我使用了下面的方法, 代码比较简陋, 但可以正常使用:
1、首先打开手机,找到手机上的微信,点击进入,如下图所示。
2、然后在个人中心界面里,选择下方的表情进入,如下图所示。
3、接着在打开的表情商店下方,有好多的表情可以选择下载,选择自己喜欢的一种点击下载,如下图所示。
4、下载完成回到微信界面,点击一个好朋友,点击聊天框旁边的表情,在弹出的界面就会看见刚才下载的表情包。
5、如果不喜欢这个表情包了,可以点旁边的小齿轮,点击移除就可以移除下载的表情包,就完成了。
微信emoji不显示
微信emoji不显示是因为系统解码问题,建议重启手机再次尝试。微信接口中对于emoji表情使用的是UTF-8的二进制字符串,并没有解码,表现就是当收到微信端用户发来的emoji表情时,显示为一个方块型或是无法显示的字符,这时就需要对其进行转码。
每个emoji表情其实都有相应的unicode编码,在解析用户向公众号发送的文字中的emoji表情字符时,系统可以根据unicode码来匹配或存储信息中的emoji表情;同理在向用户发送包含emoji表情的文字消息时,则将表情字符根据unicode编码进行二进制转码后再发送。
具体操作步骤如下:
1、首先打开数据微信,点击选择“头像”按钮。
2、然后在新的界面里点击选择“昵称”按钮。
3、之后在新的界面里点击选择“表情”图标按钮。
4、然后在新的界面里点击选择一种emoji中的表情符。
5、最后在该页面中点击“保存”选项即可。