[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

eJabberd, mod_vcard_odbc, postgresql равно ошибка invalid byte sequence for encoding UTF8 0xf0a2f0be



Привет!
* Есть eJabberd(ejabberd: Installed: 2.1.10-4+deb7u1) сервер с настроенным хранением юзеров и иных данных в PostgreSQL(postgresql-9.1: Installed: 9.1.9-1), всё относительно хорошо до тех пор пока не пытаешься в информации пользователя использовать кириллицу. В общем сохраняет исключительно латиницу.

* Версия Debian (всё из стандартных репов)
$ cat /etc/debian_version
7.2

* В логах PostgreSQL в таком случае пишет:
2013-12-02 14:54:06 NOVT ERROR: invalid byte sequence for encoding "UTF8": 0xf0a2f0be


* Настройки eJabberd относительно odbc:
$ grep odbc /etc/ejabberd/ejabberd.cfg

{auth_method, odbc}.
{odbc_server, {pgsql, "192.168.0.1", 5432, "database", "user", "password"}}.
  {mod_last_odbc,     []},
{mod_offline_odbc, [{access_max_user_messages, max_user_offline_messages}]},
  {mod_privacy_odbc,  []},
  {mod_private_odbc,  []},
  {mod_pubsub_odbc,   [ % requires mod_caps
{plugins, ["flat_odbc", "hometree_odbc", "pep_odbc"]} % pep requires mod_caps
  {mod_roster_odbc,   []},
  {mod_vcard_odbc,    [{search, true},

Модули postgresql для eJabberd собраны и установлены отсюда http://svn.process-one.net/ejabberd-modules/pgsql/trunk/


*Создание базы и структуры:
CREATE DATABASE database WITH OWNER = user TEMPLATE = template0 ENCODING = 'UTF8' LC_COLLATE = 'ru_RU.UTF8' LC_CTYPE = 'ru_RU.UTF8';

$ zcat /usr/share/doc/ejabberd/examples/pg.sql.gz > /tmp/jabber_pg.sql
$ psql -U user -W -f /tmp/jabber_pg.sql database


Подскажите, кто сталкивался, в какую сторону копать, чтобы сохранение кириллицы в PostgreSQL заработало?


Reply to: