为什么不支持来自其他设备的表情符号?

时间:2015-01-14 18:05:36

标签: sql xampp

我正在Android上开发一个聊天应用程序,使用以下表情符号库:https://github.com/ankushsachdeva/emojicon

这是我使用的第二个图书馆几乎同样的问题,我尝试了所有我知道,搜索但问题仍然存在。

EmoticonEditText呈现正确发送的表情符号,但不是收到的消息。

像这样:

enter image description here

即时通讯的工作原理如下:

设备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

导致问题的原因是什么?

如何解决(步骤清晰简单)?

1 个答案:

答案 0 :(得分:1)

确保字段/表使用utf8mb4字符集。这将允许它正确地存储BMP之外的字符。