【问题标题】:Offline Emoticons/Smileys showing ???? in MySql ofOffline table离线表情符号/笑脸显示????在MySql的离线表中
【发布时间】:2016-01-16 19:37:05
【问题描述】:

我正在开发一个聊天应用程序,它通过网络发送表情符号并使用 openfire 作为 Xmpp 服务器。

当收件人处于离线状态时,我在消息节中发送表情符号时遇到问题。通过将Smiley's转换为??????,将消息插入ofOffline Table(基于MySql)。

这是ofOffline日志:

<message to="1896127963944789@xxx" id="lQ7TP-99" type="chat" from="803084821356919@xxx/Smack"><body>{"message":"????????????","timestamp":1451299511711,"senderName":"john"}</body><thread>e5835bf7-e505-43e5-81cf-0e32e636afa8</thread></message>

我尝试了以下解决方案:

1) https://mathiasbynens.be/notes/mysql-utf8mb4#utf8-to-utf8mb4

by changing the Charset from utf8 toutf8mb4.(Followed each step but no success)

2) 根据链接更改了 conf/openfire.xml。

Openfire: Offline UTF-8 encoded messages are saved wrong

但是没有成功,有人可以指导我解决问题的确切原因以及可能的解决方案。

【问题讨论】:

  • 我也面临同样的问题。你有解决办法吗?

标签: mysql character-encoding xmpp openfire smack


【解决方案1】:

问号不能变回表情符号。

表/列必须声明为CHARACTER SET utf8mb4。 (然后重新加载字符。)

此外,您的应用程序代码中必须有 SET NAMES utf8mb4 或 `set_charset('utf8mb4') 或等效项。

有关波斯语的链接可能不相关,并且确实未能显示对 utf8mb4 的需求。 (utf8 对波斯语来说已经足够了。)

【讨论】:

    猜你喜欢
    • 2012-09-23
    • 2019-07-13
    • 2016-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多