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

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



Антон Понкратов -> debian-russian@lists.debian.org  @ Mon, 02 Dec 2013 15:30:55 +0700:

 АП> Привет!
 АП> * Есть 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

Откровенная однобайтовая кодировка.  CP1251, KOI8-R или вообще
какая-нибудь криво и через жопу прикрученная CP1252 или Latin1, выяснять
лень.

Отсюда следует, что сам postrgresql, вероятно, ни при чем, проблема либо
в модулях, либо в odbc, либо между Jabberd и odbc.

 АП> * Настройки 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: