Вопросики вместо имени группы и в истории сообщений

Если при установке jabber сервера openfire вы забыли создать базу данных mysql с кодировкой utf-8, то при использовании функций, например таких как Monitoring Service — Archiving, вместо русских букв будут отображаться знаки вопроса «???? ?? ??????? ??? ? ??». Чтобы это исправить без переустановки сервера, необходимо проделать следующие действия:

  1. В файле /etc/openfire/openfire.xml находим строку подключения к базе данных и добавляем параметр characterEncoding=UTF-8. Если параметров несколько - то они должны разделяться &. Например:
     jdbc:mysql://localhost:3306/your_base?useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8
  2. Переконвертируем базу из latin1 в utf8
    mysqldump --default-character-set=utf8 -uuser -ppassword база > dump.sql
    sed -r 's/latin1/utf/g' dump.sql>dump_new.sql
    mv -r dump_new.sql
    mysql --default-character-set=utf8 -uuser -ppassword база < dump_new.sql
  3. Перезапускаем Openfire и mysql
    /etc/init.d/openfire stop
    /etc/init.d/mysql stop
    /etc/init.d/mysql start
    /etc/init.d/openfire start
    
voprosiki_vmesto_imeni_gruppy_i_v_istorii_soobschenij.txt · Последние изменения: 2014/08/27 13:28 (внешнее изменение)
GNU Free Documentation License 1.3
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0 Яндекс.Метрика