View Full Version : Кодировка в разделах Zabbix 1.8
Доброго времени суток. С наступающим новым годом. Были проблемы как и у многих с кодировкой в разных разделах. Основную часть решил переустановкой Linux с чистого листа с кодировкой UTF-8. Осталась одна проблема в разделе "Отчет о доступности". Кто знает, подксажите где подправить и что?
Доброго времени суток. С наступающим новым годом. Были проблемы как и у многих с кодировкой в разных разделах. Основную часть решил переустановкой linux с чистого листа с кодировкой utf-8. Осталась одна проблема в разделе "Отчет о доступности". Кто знает, подксажите где подправить и что?
Как решить, чтобы отображались на русском, не знаю, я сделал следующее:
1). Запоминаешь в каких графиках некорректно отображается...., заходишь в профиль своего пользователя и выбираешь по умолчанию английский язык, заходишь опять и смотришь какие графики отображались некорректно и записываешь название на английском.
2). Идешь по пути: ..../public_html/include/locales/en_gd.inc.php и ищешь эти значения. После этого заходишь в ..../public_html/include/locales/ru_ru.inc.php и тут меняешь эти значения.
Пример:
en_gd.inc.php:
'S_MIN_SMALL'=> 'min',
'S_AVG_SMALL'=> 'avg',
'S_MAX_SMALL'=> 'max',
ru_ru.inc.php:
'S_MIN_SMALL'=> 'меняем только это значения',
'S_AVG_SMALL'=> 'меняем только это значения',
'S_MAX_SMALL'=> 'меняем только это значения',
Вот так:
'S_MIN_SMALL'=> 'min',
'S_AVG_SMALL'=> 'avg',
'S_MAX_SMALL'=> 'max',
И всё в графиках будет отображаться на английском, будет понятно.
Если кому-то удалось победить, чтобы было и на русском в графиках, отпишитесь как?
Спасибо за ответ, я так и предполагал решить данную проблему. Но хотелось бы знать, есть ли еще какие методы у кого? Вообще кто-нибудь кроме нас сталкивался с этим еще?
На русском всё отображается нормально. CentOS 5.3, apache+php штатные.
На русском всё отображается нормально. CentOS 5.3, apache+php штатные.
Я и не спорю, что у кого-то и нормально под CentOS 5.3. У меня SLES 11 + apache+php и не все так удачно. Вот собсн зашел на форум, чтобы помогли.
На русском всё отображается нормально. CentOS 5.3, apache+php штатные.
У меня Slackware 12.2 + mysql
История в графиках отображается некорректно на русском.
Различия в базах данных влиять не должны. Надо смотреть в сторону связки php/gd. Где-то там проблема.
Вот такие ошибки выдаёт веб при открытии графика, где некорректно отображается русс. шрифт:
[Tue Jan 12 10:23:32 2010] [error] [client 10.10.10.11] PHP Warning: imagettfbbox() [<a href='function.imagettfbbox'>functio
n.imagettfbbox</a>]: any2eucjp(): invalid code in input string in /home/zabbix/public_html/include/graphs.inc.php on line 1242
, referer: https://10.10.10.10/zabbix/charts.php?sid=4e146e9446fc3781
и т.д.
[Tue Jan 12 10:23:32 2010] [error] [client 10.10.10.11] PHP Warning: imagettftext() [<a href='function.imagettftext'>functio
n.imagettftext</a>]: any2eucjp(): invalid code in input string in /home/zabbix/public_html/include/graphs.inc.php on line 1200
, referer: https://10.10.10.10/zabbix/charts.php?sid=4e146e9446fc3781
и т.д.
Есть у кого мысли, что исправить??????
версия php то какая?
PHP 5.2.3 (cli) (built: Jun 29 2007 00:24:51)
ух какая старая) попробуйте обновить.
php-mbstring стоит пакет? Или, если из исходников собиралось, то было ли включено --enable-mbstring?
php-mbstring стоит пакет? Или, если из исходников собиралось, то было ли включено --enable-mbstring?
насколько я помнб, если нет функции mbstring, то и график не будет отображаться весь.
насколько я помнб, если нет функции mbstring, то и график не будет отображаться весь.
Отключил mbstring - графики как рисовались, так и рисуются. Переключил на русский интерфейс - всё работает.
P.S. Почему-то форум проставляет кодировку ISO-8859-1 в ответах сервера. Непорядок :)
Kenny, tedy1.
Что у вас за значения mbstring.* при просмотре через phpinfo()? У меня так.
mbstring.script_encoding no value
kenny, tedy1.
Что у вас за значения mbstring.* при просмотре через phpinfo()? у меня так.
Что подкрутить?
Что подкрутить?
Попробуйте
mbstring.internal_encoding = UTF-8
Попробуйте
mbstring.internal_encoding = UTF-8
Directive Local Value Master Value
mbstring.internal_encoding UTF-8 UTF-8
Не помогло, отоброжает тоже самое на графиках (прямоугольники, вместо русского текста).
Так, тогда ещё предложения:
1. Попробуйте сменить значение на ISO-8859-1
2. Какая локаль стоит при запуске php? Т.е. если это модуль апача, то какая у него локаль в скрипте запуска, а если через cgi, то какая при отработке там.
3. Посмотрите, что у вас со шрифтами, с наличием русских кодовых страниц в них.
Kenny, tedy1.
Что у вас за значения mbstring.* при просмотре через phpinfo()? У меня так.
Вот я что у себя нашел (уже с исправлением на UTF-8) :)
mbstring
Multibyte Support => enabled
Multibyte string engine => libmbfl
Multibyte (japanese) regex support => enabled
Multibyte regex (oniguruma) version => 4.4.4
Multibyte regex (oniguruma) backtrack check => On
mbstring extension makes use of "streamable kanji code filter and converter", which is distributed under the GNU Lesser General Public License version 2.1.
Directive => Local Value => Master Value
mbstring.detect_order => no value => no value
mbstring.encoding_translation => Off => Off
mbstring.func_overload => 0 => 0
mbstring.http_input => pass => pass
mbstring.http_output => pass => pass
mbstring.internal_encoding => UTF-8 => UTF-8
mbstring.language => neutral => neutral
mbstring.strict_detection => Off => Off
mbstring.substitute_character => no value => no value
1. Попробуйте сменить значение на ISO-8859-1
--Не помогает то же самое, русский шрифт не отображается в графиках.
2. Какая локаль стоит при запуске php? Т.е. если это модуль апача, то какая у него локаль в скрипте запуска, а если через cgi, то какая при отработке там.
--Как это можно посмотреть или где?
3. Посмотрите, что у вас со шрифтами, с наличием русских кодовых страниц в них.
--Как посмотреть? Русский у меня отображается, страницы ведь я вижу, только в графиках (русс.) неотображается.
1. Попробуйте сменить значение на ISO-8859-1
--Не помогает то же самое, русский шрифт не отображается в графиках.
2. Какая локаль стоит при запуске php? Т.е. если это модуль апача, то какая у него локаль в скрипте запуска, а если через cgi, то какая при отработке там.
--Как это можно посмотреть или где?
3. Посмотрите, что у вас со шрифтами, с наличием русских кодовых страниц в них.
--Как посмотреть? Русский у меня отображается, страницы ведь я вижу, только в графиках (русс.) неотображается.
Вот! Нашел на форуме пофиксенный баг там..ну неважно... вот по этой ссылке http://www.zabbix.com/developers.php взял архив, из него обновил frontends шрифты встали на свои места, tedy1, попробуйте заменить может вылечит вашу проблему тоже.
Вот! Нашел на форуме пофиксенный баг там..ну неважно... вот по этой ссылке http://www.zabbix.com/developers.php взял архив, из него обновил frontends шрифты встали на свои места, tedy1, попробуйте заменить может вылечит вашу проблему тоже.
Pre-1.8 (stable) 9309 поставил Frontends не помогло, тоже самое...
Pre-1.8 (stable) 9309 поставил Frontends не помогло, тоже самое...
судя по скриншу твоему у тебя проблема глубже с кодировкой, у меня была такая же..я возился менял настройки кодировок, где только можно...в итоге как и написал в первом посте я переставил linux с чистого листа с настройками языка по умолчанию..и соответственно кодировкой и у меня оставался один косяк...ну вот frontend из архива 1,9 вылечил. Попробуй глянь, что locale выдаст?
судя по скриншу твоему у тебя проблема глубже с кодировкой, у меня была такая же..я возился менял настройки кодировок, где только можно...в итоге как и написал в первом посте я переставил linux с чистого листа с настройками языка по умолчанию..и соответственно кодировкой и у меня оставался один косяк...ну вот frontend из архива 1,9 вылечил. Попробуй глянь, что locale выдаст?
frontend c 1.9 поставил, непомогло....
Вот:
fonts# locale
LANG=en_US
LC_CTYPE="en_US"
LC_NUMERIC="en_US"
LC_TIME="en_US"
LC_COLLATE=C
LC_MONETARY="en_US"
LC_MESSAGES="en_US"
LC_PAPER="en_US"
LC_NAME="en_US"
LC_ADDRESS="en_US"
LC_TELEPHONE="en_US"
LC_MEASUREMENT="en_US"
LC_IDENTIFICATION="en_US"
LC_ALL=
tedy1,
Странная какая-то локаль. Обычно она зовётся en_US.<что-то там>, скажем, en_US.UTF-8 (либо en_US.utf8). Раньше обычно в системах без поддержки русской локали ставилась 'С' (LANG=C). В зависимости от ОС прописывается в разных файлах в /etc. Сделайте (в случае bash+RH/CentOS) так:
# export LANG=C
# /etc/init.d/httpd restart
Русский язык вы видите, потому что символы отображаются браузером на вашей стороне. А текст на графиках строится (и размещается) на стороне сервера.
Проверьте наличие директории fonts в корне frontend-а Zabbix-а с присутствующим файлом DejaVuSans.ttf и права доступа на него.
tedy1,
Странная какая-то локаль. Обычно она зовётся en_US.<что-то там>, скажем, en_US.UTF-8 (либо en_US.utf8). Раньше обычно в системах без поддержки русской локали ставилась 'С' (LANG=C). В зависимости от ОС прописывается в разных файлах в /etc. Сделайте (в случае bash+RH/CentOS) так:
# export LANG=C
# /etc/init.d/httpd restart
Русский язык вы видите, потому что символы отображаются браузером на вашей стороне. А текст на графиках строится (и размещается) на стороне сервера.
Проверьте наличие директории fonts в корне frontend-а Zabbix-а с присутствующим файлом DejaVuSans.ttf и права доступа на него.
Непомогает.
DejaVuSans.ttf - есть.
Так, тогда вывод 'locale -a' (без кавычек) на pastebin.com или похожий сервис.
Так, тогда вывод 'locale -a' (без кавычек) на pastebin.com или похожий сервис.
# locale -a
C
POSIX
aa_DJ
aa_DJ.utf8
aa_ER
aa_ER@saaho
aa_ET
af_ZA
af_ZA.utf8
am_ET
an_ES
an_ES.utf8
ar_AE
ar_AE.utf8
ar_BH
ar_BH.utf8
ar_DZ
ar_DZ.utf8
ar_EG
ar_EG.utf8
ar_IN
ar_IQ
ar_IQ.utf8
ar_JO
ar_JO.utf8
ar_KW
ar_KW.utf8
ar_LB
ar_LB.utf8
ar_LY
ar_LY.utf8
ar_MA
ar_MA.utf8
ar_OM
ar_OM.utf8
ar_QA
ar_QA.utf8
ar_SA
ar_SA.utf8
ar_SD
ar_SD.utf8
ar_SY
ar_SY.utf8
ar_TN
ar_TN.utf8
ar_YE
ar_YE.utf8
as_IN.utf8
ast_ES
ast_ES.utf8
az_AZ.utf8
be_BY
be_BY.utf8
be_BY@latin
ber_DZ
ber_MA
bg_BG
bg_BG.utf8
bn_BD
bn_IN
br_FR
br_FR.utf8
br_FR@euro
bs_BA
bs_BA.utf8
byn_ER
ca_AD
ca_AD.utf8
ca_ES
ca_ES.utf8
ca_ES@euro
ca_FR
ca_FR.utf8
ca_IT
ca_IT.utf8
crh_UA
cs_CZ
cs_CZ.utf8
csb_PL
cy_GB
cy_GB.utf8
da_DK
da_DK.utf8
de_AT
de_AT.utf8
de_AT@euro
de_BE
de_BE.utf8
de_BE@euro
de_CH
de_CH.utf8
de_DE
de_DE.utf8
de_DE@euro
de_LU
de_LU.utf8
de_LU@euro
dz_BT
el_CY
el_CY.utf8
el_GR
el_GR.utf8
en_AU
en_AU.utf8
en_BW
en_BW.utf8
en_CA
en_CA.utf8
en_DK
en_DK.utf8
en_GB
en_GB.utf8
en_HK
en_HK.utf8
en_IE
en_IE.utf8
en_IE@euro
en_IN
en_NG
en_NZ
en_NZ.utf8
en_PH
en_PH.utf8
en_SG
en_SG.utf8
en_US
en_US.utf8
en_ZA
en_ZA.utf8
en_ZW
en_ZW.utf8
es_AR
es_AR.utf8
es_BO
es_BO.utf8
es_CL
es_CL.utf8
es_CO
es_CO.utf8
es_CR
es_CR.utf8
es_DO
es_DO.utf8
es_EC
es_EC.utf8
es_ES
es_ES.utf8
es_ES@euro
es_GT
es_GT.utf8
es_HN
es_HN.utf8
es_MX
es_MX.utf8
es_NI
es_NI.utf8
es_PA
es_PA.utf8
es_PE
es_PE.utf8
es_PR
es_PR.utf8
es_PY
es_PY.utf8
es_SV
es_SV.utf8
es_US
es_US.utf8
es_UY
es_UY.utf8
es_VE
es_VE.utf8
et_EE
et_EE.iso885915
et_EE.utf8
eu_ES
eu_ES.utf8
eu_ES@euro
fa_IR
fi_FI
fi_FI.utf8
fi_FI@euro
fil_PH
fo_FO
fo_FO.utf8
fr_BE
fr_BE.utf8
fr_BE@euro
fr_CA
fr_CA.utf8
fr_CH
fr_CH.utf8
fr_FR
fr_FR.utf8
fr_FR@euro
fr_LU
fr_LU.utf8
fr_LU@euro
fur_IT
fy_DE
fy_NL
ga_IE
ga_IE.utf8
ga_IE@euro
gd_GB
gd_GB.utf8
gez_ER
gez_ER@abegede
gez_ET
gez_ET@abegede
gl_ES
gl_ES.utf8
gl_ES@euro
gu_IN
gv_GB
gv_GB.utf8
ha_NG
he_IL
he_IL.utf8
hi_IN
hr_HR
hr_HR.utf8
hsb_DE
hsb_DE.utf8
hu_HU
hu_HU.utf8
hy_AM
hy_AM.armscii8
id_ID
id_ID.utf8
ig_NG
ik_CA
is_IS
is_IS.utf8
it_CH
it_CH.utf8
it_IT
it_IT.utf8
it_IT@euro
iu_CA
iw_IL
iw_IL.utf8
ja_JP.eucjp
ja_JP.utf8
ka_GE
ka_GE.utf8
kk_KZ
kk_KZ.utf8
kl_GL
kl_GL.utf8
km_KH
kn_IN
ko_KR.euckr
ko_KR.utf8
ku_TR
ku_TR.utf8
kw_GB
kw_GB.utf8
ky_KG
lg_UG
lg_UG.utf8
li_BE
li_NL
lo_LA
lt_LT
lt_LT.utf8
lv_LV
lv_LV.utf8
mai_IN
mg_MG
mg_MG.utf8
mi_NZ
mi_NZ.utf8
mk_MK
mk_MK.utf8
ml_IN
mn_MN
mr_IN
ms_MY
ms_MY.utf8
mt_MT
mt_MT.utf8
nb_NO
nb_NO.utf8
nds_DE
nds_NL
ne_NP
nl_BE
nl_BE.utf8
nl_BE@euro
nl_NL
nl_NL.utf8
nl_NL@euro
nn_NO
nn_NO.utf8
nr_ZA
nso_ZA
oc_FR
oc_FR.utf8
om_ET
om_KE
om_KE.utf8
or_IN
pa_IN
pa_PK
pap_AN
pl_PL
pl_PL.utf8
pt_BR
pt_BR.utf8
pt_PT
pt_PT.utf8
pt_PT@euro
ro_RO
ro_RO.utf8
ru_RU
ru_RU.cp1251
ru_RU.koi8r
ru_RU.utf8
ru_UA
ru_UA.utf8
rw_RW
sa_IN
sc_IT
se_NO
si_LK
sid_ET
sk_SK
sk_SK.utf8
sl_SI
sl_SI.utf8
so_DJ
so_DJ.utf8
so_ET
so_KE
so_KE.utf8
so_SO
so_SO.utf8
sq_AL
sq_AL.utf8
sr_ME
sr_RS
sr_RS@latin
ss_ZA
st_ZA
st_ZA.utf8
sv_FI
sv_FI.utf8
sv_FI@euro
sv_SE
sv_SE.utf8
ta_IN
te_IN
tg_TJ
tg_TJ.utf8
th_TH
th_TH.utf8
ti_ER
ti_ET
tig_ER
tk_TM
tl_PH
tl_PH.utf8
tn_ZA
tr_CY
tr_CY.utf8
tr_TR
tr_TR.utf8
ts_ZA
tt_RU.utf8
tt_RU@iqtelif.UTF-8
ug_CN
uk_UA
uk_UA.utf8
ur_PK
uz_UZ
uz_UZ@cyrillic
ve_ZA
vi_VN
vi_VN.tcvn
wa_BE
wa_BE.utf8
wa_BE@euro
wo_SN
xh_ZA
xh_ZA.utf8
yi_US
yi_US.utf8
yo_NG
zh_CN
zh_CN.gb18030
zh_CN.gbk
zh_CN.utf8
zh_HK
zh_HK.utf8
zh_SG
zh_SG.gbk
zh_SG.utf8
zh_TW
zh_TW.euctw
zh_TW.utf8
zu_ZA
zu_ZA.utf8
Kenny,
Выставьте mbstring.func_overload = 2 в php.ini.
tedy1,
Попробуйте ещё в php.ini явно выставить:
mbstring.encoding_translation = On
mbstring.detect_order = UTF-8
P.S. Простыня знатная получилась, с виду всё хорошо.
tedy1,
Попробуйте ещё в php.ini явно выставить:
mbstring.encoding_translation = On
mbstring.detect_order = UTF-8
P.S. Простыня знатная получилась, с виду всё хорошо.
mbstring.encoding_translation = On
mbstring.detect_order = UTF-8
-------------------------------------Непомогло.
mbstring.func_overload = 2 - у меня это так и стоит.
Ещё заметил, если вводить на карту название карты то текст на русском показывает ????
mschedrin
18-01-2010, 13:39
У меня абосолютно такие же симптомы, ОС FreeBSD 7.2. Пока решения не нашел.
Да, ещё вопрос. Кодировка базы какая, utf-8?
mschedrin
18-01-2010, 15:24
У меня utf-8. Конвертировал приложенными скриптами. Ошибок не было.
Да, ещё вопрос. Кодировка базы какая, utf-8?
Как проверить, какая кодировка у моей базы?
Делал всё по инструкции. На новую систему Slackware 12.2 установил Zabbix 1.8.
Для MySQL: 'mysql> show create database <db_name>;' (по-умолчанию обычно latin1)
Для PostgreSQL: 'psql> \l' (по-умолчанию для 8.x обычно UTF8)
show create database zabbix;
| zabbix | CREATE DATABASE `zabbix` /*!40100 DEFAULT CHARACTER SET latin1 */ |
1 row in set (0.18 sec)
show create database zabbix;
| zabbix | create database `zabbix` /*!40100 default character set latin1 */ |
1 row in set (0.18 sec)
если конвертировать всю базу в utf-8, то у меня на графиках всё равно русский неотображается.
Скорее всего она уже испорчена, информация-то. Или вновь создаваемые данные тоже искорёжены?
скорее всего она уже испорчена, информация-то. или вновь создаваемые данные тоже искорёжены?
на картинки которая выше, я только ввел название карты и там видно что я ввел над картинкой и что на картинки не отображается русский язык.
в 1.8 чтобы отбражалась кириллица на графиках и карте для 1.8 необходимо наличие установленного freetype2 и php5 собранного с опцией --with-freetype-dir= . база должна быть в utf8 и ее содержимое в utf8.
в 1.8 чтобы отбражалась кириллица на графиках и карте для 1.8 необходимо наличие установленного freetype2 и php5 собранного с опцией --with-freetype-dir= . база должна быть в utf8 и ее содержимое в utf8.
Вот что у меня:
freetype-2.3.7-i486-1
PHP 5.2.8
Configure Command - './configure' '--with-freetype-dir=/usr'
Базу в utf8, если меняешь имя карты на русские символы, то он показывает русский, а заходя в карту уже не показывает русс.... картинку я выше приводил. (а раньше, когда база была не в utf8 он даже русский не показывал при смене, названия карты....)
А какая кодировка в браузере?
А какая кодировка в браузере?
Юникод (utf-8). Русский не отображается, именно в графиках и карте....
Тем, у кого вообще не генерятся графики с русскими буквами, наверняка поможет этот пост: http://www.zabbix.com/forum/showpost.php?p=63150&postcount=4
Продолжу тему, чтобы не создавать новую.
Проблем с графиками нет в версии 1.8.3 Баг появился в отправке сообщений на email. В Действиях я в тело сообщения вместе с параметрами (которые заменят сам zabbix) добавил русские слова. Теперь на почту мне приходят вопросы вместо русских букв.
Например, шаблон:
Узел {HOSTNAME} по триггеру {TRIGGER.NAME} получил статус - {STATUS}
А приходит:
???? dlink_8 ?? ???????? up ??????? ?????? - OK
Я перевел таблицы action и alerts (а так же их поля) с кодировки latin1_swedish_ci (по умолчанию такие создались) на кодировку utf8_general_ci. Толку ноль.
Самой базе изменил кодировку на utf8_general_ci (остальные таблицы не трогал, долго лопатить).
Самое что странное, шаблон сообщения храниться в базе в двоичном виде и при редактировании отображается нормально. Значит баг в чем-то другом.
Заранее спасибо.
А приходит:
???? dlink_8 ?? ???????? up ??????? ?????? - OK
Преобразуйте все таблицы, как написано здесь
http://www.zabbix.com/forum/showthread.php?t=19503
И будет вам счастье.
Возможно, часть русского текста будет в нечитабельном виде, тогда его нужно будет ввести повторно.
Заработало, нужно было после смены кодировки у таблиц просто перезапустить сервер.