Zabbix 图表(图形/监控图)中文显示为方框/方块,是因为 Zabbix 默认使用的字体不支持中文,PHP-GD 绘图时无法渲染中文字符。解决方法是给 Zabbix Web 换上一个带简体中文字库的字体。
下面以 RHEL/CentOS 系列 YUM 安装的 Zabbix 5.x/6.x/7.x 为例说明,Debian/Ubuntu 思路完全一致只是路径略有差异。
方法一:直接替换字体文件
1、从Windows系统中拷贝字体文件,方法如下:进入系统的如下目录 C:\Windows\Fonts,复制如楷体 simkai.ttf、微软雅黑 msyh.ttf 或 宋体 simsun.ttc,用 scp/WinSCP 传到 Zabbix 服务器。

bash
字体文件的存储位置如下:" /usr/share/zabbix/assets/fonts "
较老版本的字体文件存储文件位置如下:" /usr/share/zabbix/fonts "
2、备份原先的字体文件 graphfont.ttf
将上传的字体文件重命名为 graphfont.ttf
- 重启服务并清缓存
重启 Web 服务
命令如下:
bash
systemctl restart httpd
或 systemctl restart nginx
4、然后浏览器强制刷新(Ctrl+F5),图表中文就能正常显示了。
方法二:修改 defines.inc.php
1、上传文件到字体文件的存储位置,注意所上传文件的尾缀如果是ttc,需要将尾缀改成ttf,否则可能失效
bash
字体文件的存储位置如下:" /usr/share/zabbix/assets/fonts "
较老版本的字体文件存储文件位置如下:" /usr/share/zabbix/fonts "
编辑配置文件vim /usr/share/zabbix/include/defines.inc.php
把这两行中的 DejaVuSans或 graphfont改成你上传的字体文件名(不含 .ttf 后缀):


bash
define('ZBX_GRAPH_FONT_NAME', 'simkai'); // 字体文件名 simkai.ttf → 填 simkai
define('ZBX_FONT_NAME', 'simkai');
确保 /usr/share/zabbix/fonts/simkai.ttf存在且权限 644,保存后刷新页面即可。