zabbix 图形中文显示乱码问题
部署zabbix后,可能遇到图形中文乱码显示乱码,特此整理一些排查方法。
文章目录
- 1 字体问题
- 更换步骤
- 2 服务器编码格式问题
- 3 数据库编码格式问题
- 4 php编译问题
1 字体问题
zabbix-web部署完后,默认是DejaVuSans.ttf,这个字体对中文支持不好,需要更换对中文友好的字体。
更换步骤
进入C:\Windows\Fonts目录,找到楷体-常规
将这个文件放到zabbix-web页面的assets/fonts,修改为DejaVuSans.ttf,,之后刷新页面即可。
如果不改名字,需要修改include/defines.inc.php文件里的ZBX_GRAPH_FONT_NAME和ZBX_FONT_NAME字段为simkai(注意不要带ttf)
2 服务器编码格式问题
locale查看服务器编码,默认是en_us
修改字符集格式为zh_cn,并重启nginx/php/zabbix
localectl set-locale LANG=zh_CN.UTF-8
3 数据库编码格式问题
查看数据库,是否是utf8mb3格式,不是的话需要修改
mysql> show create database zabbix;
+----------+---------------------------------------------------------------------------------------------------------------------------+
| Database | Create Database |
+----------+---------------------------------------------------------------------------------------------------------------------------+
| zabbix | CREATE DATABASE `zabbix` /*!40100 DEFAULT CHARACTER SET utf8mb3 COLLATE utf8mb3_bin */ /*!80016 DEFAULT ENCRYPTION='N' */ |
+----------+---------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
4 php编译问题
查看php编译的时候,是否用到了–enable-gd-jis-conv参数,这个参数可能会导致中文错误的被转码,如果有的话从新编译,把这个参数删掉。
7.4.28编译如下
./configure --prefix=/usr/local/php --with-config-file-path=/etc/php --with-fpm-user=nginx --with-fpm-group=nginx --enable-fpm --enable-opcache --enable-inline-optimization --disable-debug --disable-rpath --enable-shared --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --enable-mysqlnd-compression-support --with-iconv-dir --with-zlib --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --enable-intl --enable-ftp --enable-gd --with-jpeg --with-freetype --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --with-zip --enable-soap --with-gettext --disable-fileinfo --with-pear --enable-maintainer-zts --without-gdbm --disable-mbregex