我正在Android上开发一个聊天应用程序,使用以下表情符号库:https://github.com/ankushsachdeva/emojicon
这是我使用的第二个图书馆几乎同样的问题,我尝试了所有我知道,搜索但问题仍然存在。
EmoticonEditText呈现正确发送的表情符号,但不是收到的消息。
像这样:
即时通讯的工作原理如下:
设备A:
用户发送表情符号
EmoticonEditTexts的列表视图已更新
存储在本地存储(SQLite)
发送给服务器的消息。
设备B:
从服务器收到的消息
存储在本地存储(SQLite)
EmoticonEditTexts的列表视图已更新
备注
1- Eeach设备可以正确呈现自己发送的表情符号消息,但不会显示来自其他设备的表情符号消息。
2- 我的数据库中的消息表具有UTF-8_general_ci排序规则,但消息类似于ğğğğğ¤ğ
3- 这是http请求发送消息的参数:
String params = "username="+ URLEncoder.encode(this.username,"UTF-8") +
"&password="+ URLEncoder.encode(this.password,"UTF-8") +
"&to=" + URLEncoder.encode(tousername,"UTF-8") +
"&message="+ URLEncoder.encode(message,"UTF-8") +
"&action=" + URLEncoder.encode("sendMessage","UTF-8")+
"&";
4- 表情符号的命名方式如下emoji_00a9.png
导致问题的原因是什么?
如何解决(步骤清晰简单)?
答案 0 :(得分:1)
确保字段/表使用utf8mb4
字符集。这将允许它正确地存储BMP之外的字符。