2016-04-07 36 views
0

我有ejabberd 16.01与MySQL的效果很好ejabberd错误,问题是,它仅存储常规的表情符号而不是4个字节的表情符号。如果我使用一个终端,连接到数据库,设置字符集来utf8mb4和运行插入查询,我可以将所有类型的图标,所以DB在正确的方式配置!与utf8mb4

所以我ejabberd在离线存储放消息的4个字节成为所有图标“?????????”有没有办法将ersabberd mod离线字符集设置为utf8mb4?

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

谢谢!

+0

没有ejabberd 1.6 ... –

+0

对不起,/opt/ejabberd-16.01/ –

回答

0

你需要两样东西:

  1. 确保您有ejabberd 16.02或更新该部队UTF8MB4为默认表情符检索(插入已经在UTF8MB4从几年,如果表是正确定义)
  2. 确保您的MySQL模式已经正确创建并支持UTFMB4。
+0

OK,与versione 16.03一切工作正常!谢谢!我正在重新编译模块,但这个新版本我得到这个错误:mod_http_offline.erl:未定义变换解析“lager_transform”什么想法?我用这个来编译:erlc -DNO_EXT_LIB -I /opt/ejabberd-16.03/lib/ejabberd-16.03/include/ mod_http_offline.erl –

+0

不要与no_ext_lib标志进行编译。 –