Kodowanie zwracanych wartości

Serwer Zabbix oczekuje, że każda zwracana wartość tekstowa będzie zakodowana w UTF8. Dotyczy to każdego typu kontroli: Zabbix agent, SSH, Telnet itd.

Różne monitorowane systemy/urządzenia i kontrole mogą zwracać w wartości znaki spoza ASCII. W takich przypadkach prawie wszystkie możliwe klucze zabbix zawierają dodatkowy parametr klucza pozycji - <encoding>. Ten parametr klucza jest opcjonalny, ale należy go określić, jeśli zwracana wartość nie jest zakodowana w UTF8 i zawiera znaki spoza ASCII. W przeciwnym razie wynik może być nieoczekiwany i nieprzewidywalny.

Poniżej znajduje się opis zachowania w takich przypadkach dla różnych backendów bazy danych.

MySQL

Jeśli wartość zawiera znak spoza ASCII w kodowaniu innym niż UTF8, ten znak oraz kolejne zostaną odrzucone, gdy baza danych zapisze tę wartość. Do pliku zabbix_server.log nie zostaną zapisane żadne komunikaty ostrzegawcze.
Dotyczy co najmniej wersji MySQL 5.1.61.

PostgreSQL

Jeśli wartość zawiera znak spoza ASCII w kodowaniu innym niż UTF8, spowoduje to niepowodzenie zapytania SQL (PGRES_FATAL_ERROR:ERROR invalid byte sequence for encoding) i dane nie zostaną zapisane. Odpowiedni komunikat ostrzegawczy zostanie zapisany w pliku zabbix_server.log.
Dotyczy co najmniej wersji PostgreSQL 9.1.3.