Мар 21 2013

Дано: знаки вопросов вместо русских букв
zabbix

Решение: Нужно сменить кодировку MySQL-базы из latin1 (которая стоит по умолчанию) на UTF8.

Для этого останавливаем zabbix

sudo /etc/init.d/zabbix-server stop

Затем делаем дамп базы и конвертируем следующими командами:

sudo mysqldump -u root -p --default-character-set=latin1 -c --insert-ignore --skip-set-charset -r zabbix1.sql zabbix
sudo iconv -f ISO8859-1 -t UTF-8 zabbix1.sql > zabbix2.sql
sudo cat zabbix2.sql | sed -e 's/ CHARSET=latin1/ CHARSET=utf8/g' > zabbix3.sql
sudo mysql -u root -p --execute="DROP DATABASE zabbix; CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_general_ci;"
sudo mysql -u root --max_allowed_packet=16M -p --default-character-set=utf8 zabbix < zabbix3.sql

и запускаем Zabbix

sudo /etc/init.d/zabbix-server start

zabbix

Всё

Поделиться:

Автор: JohnnyТэги: ,

One Ping to “[Решено] Знаки вопроса вместо русских букв в Zabbix”

  1. Знаки вопроса вместо русских букв в Zabbix | Mag-IT Блог Says:

    […] статью за помощь. Собственно, тут ее […]


5 комментариев to “[Решено] Знаки вопроса вместо русских букв в Zabbix”

  1. 1. Альберт * Says:

    Спасибо автору,очень помогло!

  2. 2. m2k9 Says:

    автору спасибо помогло но сламоло карты сети теперь он ругается на то что не может подгрузить картинки для составления карты сети! что можно сделать с этим???

  3. 3. Johnny Says:

    чтобы понять, почему не грузятся картинки, нужен скриншот ошибки, можно на мыло

  4. 4. Eugene Bardosh Says:

    тоже возникла ошибка с картами сети, проблема с картинках которые в базе.
    просто поверх накатил таблицу images до конвертирования)

  5. 5. Дмитрий Берлев Says:

    Может кому понадобится, тоже не отображались графики после преобразования БД, но накатить данные до конвертирования в таблицу images не получилось сразу (Zabbix 2.2), нужно было удалить ключ:
    ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails (`zabbix`.`sysmaps_elements`, CONSTRAINT `c_sysmaps_elements_2` FOREIGN KEY (`iconid_off`) REFERENCES `images` (`imageid`))

    Итого, с дампа ещё несконвертированной БД надо вычленить содержимое таблицы images (возможно что то подправить руками, убрать «остатки»):
    cat zabbix_before_conv.sql | sed ‘1,/DROP TABLE IF EXISTS `images`/ d’ > file
    cat file | sed ‘/DROP TABLE IF EXISTS `interface`/,$ d’ > file1

    Удалить ключ:
    ALTER TABLE `zabbix`.`sysmaps_elements` DROP FOREIGN KEY `c_sysmaps_elements_2`;

    Удалить данные из таблицы images:
    DELETE FROM images;

    Загрузить неконвертированные данные в таблицу images:
    mysql -u root —max_allowed_packet=16M -p —default-character-set=utf8 zabbix < file1

    Вернуть ключ:
    ALTER TABLE `zabbix`.`sysmaps_elements` ADD CONSTRAINT `c_sysmaps_elements_2` FOREIGN KEY (`iconid_off`) REFERENCES `images` (`imageid`) ON UPDATE CASCADE ON DELETE CASCADE;

Оставьте свой комментарий

Нужно войти в систему, чтобы оставлять комментарии.



Блог саратовского админа   

При использовании материалов сайта на других ресурсах прошу оставлять прямую ссылку на оригинал статьи.