Každý, kdo instaloval Zabbix server, se setkal s problémem kódování v rozhraní Web GUI, kde je celý ruský text zobrazován jako otazníky. Problém spočívá ve výchozím kódování tabulek databáze, jehož změnou tento problém vyřešíme.
Je třeba převést kódování tabulek a dat v nich z latin1 na UTF-8.
Nejprve zastavíme zabbix-server:
|
1
2
3
4
5
|
/etc/init.d/zabbix-server stop
nebo
systemctl stop zabbix-server
nebo
service zabbix-server stop
|
Dále je třeba vytvořit zálohu databáze.
|
1
|
mysqldump -u root -p --ignore-table=zabbix.history --ignore-table=zabbix.history_uint --ignore-table=zabbix.images --default-character-set=latin1 -c --insert-ignore --skip-set-charset -r z1.sql zabbix
|
Jak je vidět, vyloučili jsme 3 tabulky z dumpu, protože neobsahují žádná data a při importu upraveného dumpu mi na tabulce images docházelo k pádu MySQL serveru.
Těmto třem tabulkám vytvoříme samostatný dump, který nebudeme modifikovat.
|
1
|
mysqldump -u root -p --default-character-set=latin1 -c --insert-ignore --skip-set-charset -r z4.sql zabbix history history_uint images
|
Důrazně doporučuji zachovat původní dumpy pro možnost návratu k předchozímu stavu.
Změníme kódování všech záznamů v dumpu z1.sql
|
1
|
iconv -f ISO8859-1 -t UTF-8 z1.sql > z2.sql
|
Nahradíme všechny výskyty kódování v dumpu z2.sql
|
1
|
cat z2.sql |sed -e 's/ CHARSET=latin1/ CHARSET=utf8/g' > z3.sql
|
Přetvoříme databázi, abychom ji vyčistili od všech tabulek a vytvořili ji v požadovaném kódování.
|
1
|
mysql -u root -p --execute="DROP DATABASE zabbix; CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_general_ci;"
|
Načteme zálohu z4.sql do databáze.
|
1
|
mysql -u root --max_allowed_packet=16M -p --default-character-set=utf8 zabbix < z4.sql
|
Načteme dump z3.sql do databáze
|
1
|
mysql -u root --max_allowed_packet=16M -p --default-character-set=utf8 zabbix < z3.sql
|
A poté znovu spustíme server Zabbix
|
1
2
3
4
5
|
/etc/init.d/zabbix-server start
nebo
systemctl start zabbix-server
nebo
service zabbix-server start
|
Ověříme správnou funkčnost webového rozhraní serveru Zabbix. V případě problémů se vrátíme k zálohám z1.sql a z4.sql.
