zoukankan      html  css  js  c++  java
  • 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>标签到其他人的博客!

    以上,共勉!

  • 相关阅读:
    加关注
    UI设计
    敏捷开发
    java书箱
    怎么优化JAVA程序的执行效率和性能?
    sql访注入
    Matlab中plot函数全功能解析
    matlab分割背景与物体
    ssh免密码登录
    c++字符串详解(转)
  • 原文地址:https://www.cnblogs.com/storyawine/p/13386241.html
Copyright © 2011-2022 走看看