Подключил модуль 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 использовать в самом модуле, тоже без успехов. Хоть кто-то решил проблему хранения кирилицы?