PDA

View Full Version : Проблема с кириллицей при генирации граф


VovkaMX
12-02-2010, 10:59
Столкнулся с проблемой: не генерируются картинки графиков, надписи на которых выполнены на кириллице. Как вариант - можно использовать английский интерфейс или заменить в ru_ru.inc.php русские слова - английскими :) но хотелось бы более правильного решения.
Шрифт DejaVuSans.ttf с русскими буквами присутствует на месте. Но текст, сгенерированый с помощью imagettftext с применением кириллицы - не выводится не в одной из 4х кодировок (в режиме отладки).

Может кто то удачно решил эту проблему или же есть какие то дельные соображения?

Версия zabbix: 1.8-r1
ОС: Gentoo 2.6.30 r8

Firm
15-02-2010, 11:19
Проверить наличие собранного mbstring и кодировки UTF8 для базы.

winterheart
12-03-2010, 10:08
Столкнулся с такой же проблемой. Решение следующее:
для корректного отображения графиков в Zabbix PHP должен быть собран с флагами gd truetype unicode.

Соответственно, было бы неплохо отразить в документации, что для графиков нужна опциональная поддержка freetype в PHP.

IVB
16-04-2010, 12:04
Проблема решена.

Если php собран с поддержкой jis - gd неправильно детектит чарсет (независимо от всяческих настроек) и вываливается с ошибкой any2eucjp(): invalid code in input string. Неоднократные попытки "пнуть" разрабов gd (не мной) не увенчались успехом.

Для того, чобы на графиках отображались русские буквы, необходимо отключить поддержку jis в php. Это делается через опцию configure --disable-gd-jis-conv.

Симптом проявления этой ошибки - графики с русскими буквами вообще не отображаются.

Если же у вас вместо русских букв на графиках пустые прямоугольнички - крутите кодировки (текст для генерации надписей должен быть в UTF-8).