Zabbix的图形界面中文变成□□问题

zabbix的图形界面中文变成□□问题

亲测有效!!!

zabbix首次安装之后,往往图形界面中的中文显示为‘□□’,如图:

 

看起来很不舒服,如何让他显示为中文?

思考:

1:是否是数据库的字符问题?

mysql> show variables like '%character%';
+--------------------------+----------------------------------+
| Variable_name            | Value                            |
+--------------------------+----------------------------------+
| character_set_client     | utf8                             |
| character_set_connection | utf8                             |
| character_set_database   | utf8                             |
| character_set_filesystem | binary                           |
| character_set_results    | utf8                             |
| character_set_server     | utf8                             |
| character_set_system     | utf8                             |
| character_sets_dir       | /usr/local/mysql/share/charsets/ |
+--------------------------+----------------------------------+
8 rows in set (0.00 sec)
ok,看起来问题不在数据库!

2:zabbix问题

从网上找了很多帖子,上面说要修改/usr/share/zabbix/include/defines.inc.php文件,其实根本不用!

define('ZBX_GRAPH_FONT_NAME',           'graphfont');

上面这里指定的‘graphfont’其实只是一个软连接,不是真实的字体文件,我们看看他软连接到哪里的:

[root@VM-75-68 fonts]# pwd
/usr/share/zabbix/fonts
[root@VM-75-68 fonts]# ll
total 15048
lrwxrwxrwx. 1 root root       33 Dec 18  2019 graphfont.ttf -> /etc/alternatives/zabbix-web-font    #OK,是指向到这里的!

继续追踪:

[root@VM-75-68 alternatives]# pwd
/etc/alternatives
[root@VM-75-68 alternatives]# ll
total 0
lrwxrwxrwx. 1 root root 38 Dec 18  2019 zabbix-web-font -> /usr/share/fonts/dejavu/DejaVuSans.ttf  #最终确定,指向的是DejaVuSans.ttf字体文件

DejaVuSans.ttf不支持中文显示!

那我们是不是只要重新拉一个新的字体文件过来,修改zabbix-web-font的软连接就好了????

真的是这样吗???

不行!!!

这里正确的操作是:

1:先下载新的字体库:https://www.xxshell.com/download/sh/zabbix/ttf/msyh.ttf    (这里笔者使用的是黑体字库)

2:上传到zabbix服务端的 /usr/share/fonts/dejavu 下

3:[root@VM-75-68 dejavu]# mv DejaVuSans.ttf DejaVuSans.ttf_bak
4:[root@VM-75-68 dejavu]# mv msyh.ttf DejaVuSans.ttf

注意,这里我们是把原来的DejaVuSans.ttf给bak掉,然后把新的黑字体库命名为DejaVuSans.ttf,不用动任何软连接!!!

修改完之后,我印象里都不用重启,前端就能生效了!

效果如下:

这里看到方框已经能够显示为中文了!

不过话说回来,我目前还不清楚为什么前面大多数人说的放在我这里不生效,也不清楚我这种方式在其他人那里能否生效,但在笔者的环境中,是需要保留DejaVuSans.ttf文件名的,也就是说,不要重新软连接,而是直接修改‘DejaVuSans.ttf’文件的内容!

希望所有的博主都能在实践过后写出有参考价值的东西,而不是复制粘贴别人的成果甚至直接<a></a>标签到其他人的博客!

以上,共勉!

posted @ 2020-07-27 16:46  一个运维  阅读(358)  评论(1编辑  收藏  举报