欢迎光临琼海市中国灵车网
详情描述

1. 检查系统字体支持

  • 确保系统已安装中文字体(如wqy-microheiwqy-zenheittf-dejavu):

    # CentOS/RHEL
    yum install wqy-microhei-fonts -y
    
    # Ubuntu/Debian
    apt install fonts-wqy-microhei -y

2. 修改Zabbix Web配置文件

  • 编辑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']已正确设置。

3. 修改PHP配置文件

  • 编辑php.ini,确保以下设置:
    default_charset = "UTF-8"
    mbstring.internal_encoding = UTF-8
    mbstring.func_overload = 0

4. 数据库字符集设置

  • 登录Zabbix数据库,检查字符集是否为utf8utf8mb4
    SHOW VARIABLES LIKE 'character_set%';
    SHOW VARIABLES LIKE 'collation%';
  • 如果非UTF-8,修改数据库、表和字段的字符集:
    ALTER DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;
  • 修改后重启数据库服务。

5. Zabbix Server配置

  • 检查/etc/zabbix/zabbix_server.conf中是否有字符集相关配置(如DBCharset=utf8),确保其生效。

6. 浏览器设置

  • 在浏览器中强制使用UTF-8编码:
    • Chrome/Edge:按F12 → 网络(Network) → 右键点击请求 → 选择“编码” → 设置为“UTF-8”。
    • Firefox:右键页面 → “查看页面信息” → 将“字符编码”设为“Unicode (UTF-8)”。

7. 重建字体缓存(可选)

   fc-cache -fv

8. 清除浏览器缓存

  • 清除浏览器缓存和Cookie后重新访问Zabbix页面。

9. 特殊场景:图形中的中文乱码

  • 编辑/usr/share/zabbix/include/defines.inc.php,修改图形字体路径:
    define('ZBX_GRAPH_FONT_NAME', 'wqy-microhei'); // 使用已安装的中文字体
    define('ZBX_FONT_NAME', 'wqy-microhei');
  • 重启Zabbix Server和Web服务:
    systemctl restart zabbix-server zabbix-agent httpd

10. 验证步骤

  • 在Zabbix Web中添加中文字符的监控项或触发器,检查是否正常显示。
  • 查看图形中的中文标签是否正常。

如果以上方法仍无法解决,请检查Web服务器(Apache/Nginx)的字符集配置,确保响应头中包含Content-Type: text/html; charset=utf-8