我的ejabberd 16.01在MySQL上运行良好,问题是它仅存储常规表情符号,而不存储4字节的表情符号。如果使用终端,连接到数据库,将字符集设置为utf8mb4并运行insert query,我可以插入所有类型的图标,因此以正确的方式配置数据库!

因此,我ejabberd在脱机存储中发送了一条消息,所有4字节的图标都变为“ ?????????”有没有办法将ejabberd mod离线的字符集设置为utf8mb4?

我该如何解决?你有什么想法?

谢谢!

最佳答案

您需要两件事:


确保您拥有ejabberd 16.02或更高版本,它会强制将UTF8MB4设置为表情符号检索的默认值(如果正确定义了表,那么插入已存在于UTF8MB4中多年了)
确保已使用UTFMB4支持正确创建了MySQL模式。

关于mysql - utf8mb4导致ejabberd错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36478185/

10-13 09:49