为什么不支持来自其他设备的表情符号?
Why are emoticons from other device not supported?
我正在 Android 上开发一个聊天应用程序,使用的表情符号库来自:https://github.com/ankushsachdeva/emojicon
这是我使用的第二个库,问题几乎相同,我尽我所能,搜索但问题仍然存在。
EmoticonEditText 正确呈现已发送的表情符号,但无法正确呈现接收到的消息。
像这样:
即时通讯是这样的:
设备A:
用户发送表情
EmoticonEditTexts 的列表视图已更新
消息存储在本地存储 (SQLite)
条消息发送到服务器。
设备 B:
从服务器收到的消息
消息存储在本地存储 (SQLite)
EmoticonEditTexts 的列表视图已更新
注释
1- 每个设备都可以正确呈现自己发送的表情消息,但不能正确呈现来自其他设备的表情消息。
2-我在数据库中的消息 table 具有 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
导致问题的原因是什么?
如何解决(步骤简单明了)?
确保 field/table 使用 utf8mb4
字符集。这将允许它正确地存储 BMP 之外的字符。
我正在 Android 上开发一个聊天应用程序,使用的表情符号库来自:https://github.com/ankushsachdeva/emojicon
这是我使用的第二个库,问题几乎相同,我尽我所能,搜索但问题仍然存在。
EmoticonEditText 正确呈现已发送的表情符号,但无法正确呈现接收到的消息。
像这样:
即时通讯是这样的:
设备A:
用户发送表情
EmoticonEditTexts 的列表视图已更新
消息存储在本地存储 (SQLite)
条消息发送到服务器。
设备 B:
从服务器收到的消息
消息存储在本地存储 (SQLite)
EmoticonEditTexts 的列表视图已更新
注释
1- 每个设备都可以正确呈现自己发送的表情消息,但不能正确呈现来自其他设备的表情消息。
2-我在数据库中的消息 table 具有 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
导致问题的原因是什么?
如何解决(步骤简单明了)?
确保 field/table 使用 utf8mb4
字符集。这将允许它正确地存储 BMP 之外的字符。