确保系统已安装中文字体(如wqy-microhei、wqy-zenhei或ttf-dejavu):
# CentOS/RHEL
yum install wqy-microhei-fonts -y
# Ubuntu/Debian
apt install fonts-wqy-microhei -y
编辑Zabbix Web目录下的conf/zabbix.conf.php,确保字符集设置为UTF-8:
// 检查以下参数
$DB['TYPE'] = 'MYSQL';
$DB['SERVER'] = 'localhost';
$DB['PORT'] = '0';
$DB['DATABASE'] = 'zabbix';
$DB['USER'] = 'zabbix';
$DB['PASSWORD'] = 'your_password';
// 确保数据库连接使用UTF-8
$DB['ENCRYPTION'] = false;
如果是Zabbix 5.0+,确认$DB['SCHEMA']已正确设置。
php.ini,确保以下设置:default_charset = "UTF-8"
mbstring.internal_encoding = UTF-8
mbstring.func_overload = 0
utf8或utf8mb4:SHOW VARIABLES LIKE 'character_set%';
SHOW VARIABLES LIKE 'collation%';
ALTER DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;
/etc/zabbix/zabbix_server.conf中是否有字符集相关配置(如DBCharset=utf8),确保其生效。F12 → 网络(Network) → 右键点击请求 → 选择“编码” → 设置为“UTF-8”。 fc-cache -fv
/usr/share/zabbix/include/defines.inc.php,修改图形字体路径:define('ZBX_GRAPH_FONT_NAME', 'wqy-microhei'); // 使用已安装的中文字体
define('ZBX_FONT_NAME', 'wqy-microhei');
systemctl restart zabbix-server zabbix-agent httpd
如果以上方法仍无法解决,请检查Web服务器(Apache/Nginx)的字符集配置,确保响应头中包含Content-Type: text/html; charset=utf-8。