Модуль logdb логирует сообщения в неправильной кодировке

Подключил модуль logdb, настроил на работу с mysql:

  {mod_logdb, [
    {dbs, [
      {mysql, [
        {user, "ejabberd"},
        {password, "ejabberd"},
        {server, "localhost"},
        {port, 3306},
        {db, "ejabberd"}
      ]}
    ]},
    {vhosts, [{"localhost", mysql}]},
    {ignore_jids, []},
    {groupchat, all},
    {purge_older_days, never},
    {dolog_default, true},
    {poll_users_settings, 5}
  ]}

Но в базу данных сообщения приходят в виде крякозябр: Съешь еще этих мягких французских булок, да выпей же чая.
БД, таблица и поле имеют кодировку UTF-8. VCard сохряняются нормально с русскими символами.

Это сообщение (Съешь еще этих

Это сообщение (Съешь еще этих мягких французских булок, да выпей же чаю) было передано в БД как UTF-8. (Кстати, именно в этой кодировке стандарт предписывает передавать текст в XMPP.) Но БД думает, что это - текст в кодировке Windows-1252 (западноевропейская) и повторно конвертирует его из этой кодировки в UTF-8. То есть ошибка где-то, где модуль должен сказать БД, в какой кодировке передаваемый текст.
Я бы предложил отправить багрепорт разработчику модуля.

Скорее всего в модуль даже не

Скорее всего в модуль даже не передается какую кодировку использовать, как правильно заметил Михаил. Видимо, по этой причине здесь был осуществлен переход на другой драйвер БД: https://github.com/candy-chat/mod_log_chat_mysql5/commit/68b0f5115442469...

Поставил и я этот модуль к

Поставил и я этот модуль к себе на ejabberd. Но только толку нет от этого, как была кодировка не ясная, так она и осталась. Пытался iconv использовать в самом модуле, тоже без успехов. Хоть кто-то решил проблему хранения кирилицы?

Syndicate content