【发布时间】:2015-03-13 00:39:14
【问题描述】:
我正在 Android 上开发一个聊天应用程序,使用的表情库来自:https://github.com/ankushsachdeva/emojicon
这是我使用的第二个库,几乎同样的问题,我尝试了所有我知道的,搜索但问题仍然存在。
EmoticonEditText 正确渲染发送的表情,但不能正确渲染接收到的消息。
像这样:
即时通讯的工作原理如下:
设备 A:
用户发送表情
EmoticonEditTexts 列表视图更新
存储在本地存储中的消息 (SQLite)
消息发送到服务器。
设备 B:
从服务器收到的消息
消息存储在本地存储 (SQLite)
EmoticonEditTexts 列表视图更新
注意事项
1- 每个设备都可以正确渲染自己发送的表情消息,但不能正确渲染来自其他设备的表情消息。
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
导致问题的原因是什么?
如何解决(步骤清晰简单)?
【问题讨论】:
-
这意味着您没有正确存储非 BMP 字符。
-
@SLaks 有什么建议吗?我认为它们正确存储在 SQLite 上,但没有存储在服务器中,这就是我需要帮助的原因。