这里发现
一只程序猿O(∩_∩)O
渴望用Hello World改变世界,喜欢电影,喜欢跑步,略带文艺的逗比程序猿一只!

zabbix中文乱码问题

1.拷贝中文字体到zabbix的web端的fonts目录下例如:/var/www/html/zabbix/fonts/msyh.ttf,并且把后缀改为ttf

2.修改zabbix的web端/include/defines.inc.php

//define('ZBX_FONT_NAME', 'DejaVuSans');
define('ZBX_FONT_NAME', 'msyh');

//define('ZBX_GRAPH_FONT_NAME', 'DejaVuSans'); // font file name
define('ZBX_GRAPH_FONT_NAME', 'msyh'); // font file name

3.这时候大部分可以修复了,但是我是个例外,按上面的步骤修改后,图片乱码依旧,最终从一个帖子中看到,是因为编译php时–enable-gd-jis-conv参数引起。

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)

4.重新编译PHP,去掉–enable-gd-jis-conv参数,问题解决

转载请注明出处fullstackdevel.com:SEAN是一只程序猿 » zabbix中文乱码问题

分享到:更多 ()

Comment 抢沙发

评论前必须登录!