Zabbix中文监控服务器图形图表显示乱码

zabbix对中文的支持不是很好,但为了管理方面有时候我们还是会选择中文,在zabbix监控的web界面,图形图标下面的中文会显示一个个小方块,这样是不正确的,需要下载字体。例如“微软雅黑”

“微软雅黑.ttf” 命名为 “msyh.ttf”

将下载的字体上传到/zabbix/fonts/字体下

修改/zabbix/include/defines.inc.php文件中的两处

define('ZBX_GRAPH_FONT_NAME', 'DejaVuSans');
define('ZBX_FONT_NAME', 'DejaVuSans');

define('ZBX_GRAPH_FONT_NAME', 'msyh');
define('ZBX_FONT_NAME', 'msyh');

最后重启web服务器即可。

Zabbix中文监控服务器图形图表显示乱码》有4个想法

  1. 胥杰

    iii.php编译参数调试
    经过反复编译测试,发现是由–enable-gd-jis-conv参数引起的,编译php时若加入该参数则会导致zabbix图片中文乱码,去掉后一切正常,也有朋友遇到类似的问题
    php官方解释
    *虽然imagettftext()文档标明只接受UTF-8编码,但如果PHP编译时启用–enable-gd-jis-conv选项的话,那么非ASCII字符(例如汉字、拼音、希腊文和箭头)会被当成EUC-JP编码(phpinfo中美其名曰“支持JIS编码的字体”), 从而导致乱码(由于西文字体没有假名或汉字,一般表现为全部是方框)
    Although imagettftext()documentation indicates it only accepts UTF-8 encoding, but if–enable-gd-jis-conv is specified when compiling PHP, then non-ASCII characters(like Chinese, accented characters, Greek and arrows) will be (mis-)treated asEUC-JP encoding (referred to as “JIS-mapped Japanese Font Support” in phpinfo)leading to mojibake (this usually shows up as hollow rectangles, as most fontsfor western text lacks glyphs for kanji or kana)
    结论,编译php时不要加–enable-gd-jis-conv

    回复
  2. 胥杰

    zabbix-server是安装你的文档一步步下来的虽然有报错也都解决了。这一步走不下去了图形中文部分一直乱码,尝试在mysql中set character_set_database=utf8;set character_set_server=utf8;还是不能解决问题,最后我将之前部署的zabbix的字体拖过来也不行,修改后的效果就是方框变成了乱码,现在求助下帮忙看看是什么原因

    回复

回复 胥杰 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注

Captcha Code