Openfire 3.7 и кодировка UTF-8
Сообщений 1 страница 2 из 2
Поделиться22012-04-07 00:26:20
подробно правим кодировку
http://capitan-siska.ru/jabber-сервер-openfire-кодировка/
Если при установке jabber сервера openfire вы забыли создать базу данных mysql с кодировкой utf-8, то при использовании функций, например таких как Monitoring Service — Archiving, вместо русских букв будут отображаться знаки вопроса «???? ?? ??????? ??? ? ??». Чтобы это исправить без переустановки сервера, необходимо проделать следующие действия.
Открываем файл /etc/openfire/openfire.xml, например коммандой
gedit /etc/openfire/openfire.xml
или запускаем mc менеджер, находим файл и нажимаешь f4 для его редактирования.
Далее необходимо найти строку, которая описывает подключение к базе данных:
«<serverURL>jdbc:mysql://host_name:3306/base_name</serverURL>»
заменяем ее на строку вида:
«<serverURL>jdbc:mysql://host_name:3306/base_name?characterEncoding=UTF-8</serverURL>»
Например, если mysql стоит на localhost, а база данных называется «openfire», то строка будет выглядеть так:
«<serverURL>jdbc:mysql://localhost:3306/openfire?characterEncoding=UTF-8</serverURL>»
Теперь необходимо изменить саму базу данных. Для этого сначала необходимо сделать ее копию, изменить а затем залить обратно.
Переконвертирование БД из latin1 в utf8.
# mysqldump —default-character-set=utf8 -u user -p база > файл.дампа
В файл.дампа изменяем все с latin1 на utf8 (открываем файл.дампа любым редактором: gedit, или через mc, или каким либо другим,делаем замену всех слов latin1 на utf8), сохраняем и заливаем дамп обратно:
# mysql —default-character-set=utf8 -u user -p база < файл.дампа
где user — пользователь mysql, по умолчанию root; база — база данных, например, openfire; файл дампа — к примеру openfire.sql
Настраиваем /etc/my.cnf, вписываем следующие строки:
[mysqld]
default-character-set=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
Теперь перезапускаем mysql сервер, и проверяем результат. Для верности (или по желанию) можно перезагрузить и openfire
/etc/init.d/mysql restart
/etc/init.d/openfire restart