得到“????”在XMPP离线模式下发送表情符号时

时间:2016-08-15 12:32:05

标签: ios objective-c xmpp chat

我正在使用XMPP框架与OpenFire服务器开发聊天应用程序。 一切正常我只面临一个问题:

当用户A在用户B离线时向用户B发送'表情符号'时,用户B将通过PHP服务器获得推送通知。

当用户上线时,我收到了

中的所有消息

- (void)xmppStream:(XMPPStream *)sender didReceiveMessage:(XMPPMessage *)message

方法。 它看起来不错,但是当用户B收到表情符号时,它会转换为“?????” 就像我收到这个消息内容:

<message xmlns="jabber:client" type="chat" to=“receiver” from=“sender”><body>????</body><delay xmlns="urn:xmpp:delay" from="52.208.58.179" stamp="2016-08-15T12:16:59.039Z"></delay></message>

同样的事情在普通短信中运作良好,不知道为什么我会得到“????”在离线模式下。在线模式下工作的代码。

1 个答案:

答案 0 :(得分:0)

您需要确保正确配置数据库以处理4字节的unicode字符。例如,MySQL需要使用utf8mb4编码,而不仅仅是utf8。这是最常见的错误案例。