当使用Openfire在两个iOS设备之间聊天时(使用MySQL数据库),Emoji不在离线聊天中工作

当使用Openfire在两个iOS设备之间聊天时(使用MySQL数据库),Emoji不在离线聊天中工作,第1张

概述我有Openfire的问题,特别是对表情符号字符的支持.我在互联网上搜索发现,为了支持表情符号,我必须将数据库和表的编码和校对更改为UTF-8 unicode(utf8mb4).我已经使用以下SQL命令完成了这项工作:SET NAMES utf8mb4; ALTER DATABASE openfire CHARACTER SET = utf8mb4 CO

我有Openfire的问题,特别是对表情符号字符的支持.我在互联网上搜索发现,为了支持表情符号,我必须将数据库和表的编码和校对更改为UTF-8 unicode(utf8mb4).我已经使用以下sql命令完成了这项工作:

SET nameS utf8mb4;  ALTER DATABASE openfire CHaraCTER SET = utf8mb4 ColLATE = utf8mb4_unicode_ci;  ALTER table ofOffline CONVERT TO CHaraCTER SET utf8mb4 ColLATE utf8mb4_unicode_ci;  

所以在上面的语句中,我正在更改数据库和表的字符集和排序规则.接下来,我读到我应该更改JDBC驱动程序以支持unicode.我的系统属性中的“database.defaultProvIDer.serverURL”条目具有以下值(使用Openfire管理网页):

jdbc:MysqL://localhost:3306/openfire?rewriteBatchedStatements=true&useUnicode=true&characterEnCoding=UTF-8&characterSetResults=UTF-8

当我在两个在线用户之间用表情符号发送消息时,它可以完美无瑕.当邮件的收件人处于脱机状态时,邮件将存储到数据库中,这就是出错的地方:表情符号未正确存储在数据库中(它存储为两个问号).

我的CREATE table语句如下所示:

CREATE table `ofMessageArchive` (  `messageID` bigint(20) DEFAulT NulL,`conversationID` bigint(20) NOT NulL,`fromJID` varchar(255) ColLATE utf8mb4_unicode_ci NOT NulL,`fromJIDResource` varchar(100) ColLATE utf8mb4_unicode_ci DEFAulT NulL,`toJID` varchar(255) ColLATE utf8mb4_unicode_ci NOT NulL,`toJIDResource` varchar(100) ColLATE utf8mb4_unicode_ci DEFAulT NulL,`sentDate` bigint(20) NOT NulL,`stanza` mediumtext ColLATE utf8mb4_unicode_ci,`body` mediumtext ColLATE utf8mb4_unicode_ci,KEY `ofMessageArchive_con_IDx` (`conversationID`)) ENGINE=InnoDB DEFAulT CHARSET=utf8mb4 ColLATE=utf8mb4_unicode_ci;

我尝试使用以下查询获取节文本(其中包含表情符号)(请注意,消息73只包含一个字符:表情符号):

SELECT stanza,HEX(stanza) FROM ofOffline WHERE messageID = 73

这给了我(左边的 – 签署消息,右边是十六进制值):

          总结       

以上是内存溢出为你收集整理的当使用Openfire在两个iOS设备之间聊天时(使用MySQL数据库),Emoji不在离线聊天中工作全部内容,希望文章能够帮你解决当使用Openfire在两个iOS设备之间聊天时(使用MySQL数据库),Emoji不在离线聊天中工作所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1168290.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)