zabbix中文乱码解决方法(13)

凉白开 zabbix2189,77840字数 952阅读3分10秒阅读模式

在前面文章《zabbix监控第一台服务器》遇到中文乱码问题。zabbix乱码是怎么照成的呢?zabbix使用DejaVuSan.ttf字体,不支持中文,导致中文出现乱码。解决方法很简单,把我们电脑里面字体文件传到zabbix服务器上。

1. 乱码如下图

 文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-chinese-garbled-ttlsa/

Linux

zabbix乱码

2. 解决zabbix乱码方法

2.1 上传文件到zabbix中
找到本地C:\Windows\Fonts\simkai.ttf(楷体)上传到服务器zabbix网站目录fonts目录下。文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-chinese-garbled-ttlsa/

Linux

zabbix中文字体

Linux

zabbix楷体

2.2 修改zabbix php配置文件文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-chinese-garbled-ttlsa/

    # cd /data/site/www.ttlsa.com/zabbix/ # 我zabbix安装目录
    # sed -i 's/DejaVuSans/simkai/g' ./include/defines.inc.php

 文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-chinese-garbled-ttlsa/

3. 查看zabbix乱码处理结果

 文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-chinese-garbled-ttlsa/

Linux

zabbix中文乱处理结果

 4. 常见问题

依旧乱码:通过以上的操作,大部分同学的乱码问题解决了,但是依旧有一些同学还是乱码?细心的群友提供另外一种情况:初始化数据库的时候未使用utf8编码所致.初始化数据库使用命令文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-chinese-garbled-ttlsa/

create database zabbix default charset utf8;

或者my.cnf增加如下配置文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-chinese-garbled-ttlsa/

default-character-set = utf8

5. 总结 

乱码处理方法很简单,实际上就是替换字体。希望zabbix的同学请继续关注zabbix教程,也同时继续关注运维生存时间。手头上的服务器都是什么配置?请看《zabbix资产清单inventory管理(14)文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-chinese-garbled-ttlsa/ 文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-chinese-garbled-ttlsa/

weinxin
我的微信
微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~
凉白开
  • 本文由 发表于 28/04/2014 01:51:22
  • 转载请务必保留本文链接:https://www.ttlsa.com/zabbix/zabbix-chinese-garbled-ttlsa/
  • Linux
  • nagios
  • zabbix
  • zabbix教程
评论  21  访客  13
    • 悟透
      悟透 9

      修改显示语言提示这个,还不能选中文,中文开启了。You are not able to choose some of the languages, because locales for them are not installed on the web server.

        • ysicing
          ysicing 1

          @ 悟透 1.dpkg-reconfigure locales #选择系统语言包
          #必须选择的en_US.UTF-8/zh_CN.UTF-8
          2.在选择系统环境语言时,必须有必要选en_US.UTF-8
          #check zabbix配置
          nano /usr/share/zabbix/include/locales.inc.php
          找到getLocales()函数检查zh_CN是否为True
          Debian就可以这样解决

        • 老母猪_你别上树
          老母猪_你别上树 9

          是的。graph中该是方框还是方框

          • aaac
            aaac 9

            我也是 请问解决了吗

            • ZA
              ZA 9

              不错 我的za是YUM安装的,已经完美解决乱码问题. 没成功的同学请再看看是否哪个步骤操作有误?

              • 运维生存时间网友
                运维生存时间网友 9

                按说明替换以后,什么文字也没有了是几个意思

                • 匿名
                  匿名 9

                  按说明替换以后,什么文字也没有了是几个意思

                  • qingyangfly
                    qingyangfly 9

                    超级菜鸟一个请教:我php是rpm直接安装的,该如何解救?重新编译php源码包安装吗?

                    • nginx-web001
                      nginx-web001 9

                      替换了字体也没有解决zabbix生成图像的中文乱码问题.

                        • nginx-web001
                          nginx-web001 9

                          @ nginx-web001 已经解决了.原因是php配置问题, php编译时如果指定–enable-gd-jis-conv选项即使指定了中文字体也会导至乱码.所以在编译php时不要指定–enable-gd-jis-conv参数. 因zabbix使用php imagettftext()函数来画图,imagettftext()在php官方文档中写到:

                          Although imagettftext()documentation indicates it only accepts UTF-8 encoding, but if–enable-gd-jis-conv is specified when compiling PHP, then non-ASCII characters(like Chinese, accented characters, Greek and arrows) will be (mis-)treated asEUC-JP encoding (referred to as “JIS-mapped Japanese Font Support” in phpinfo)leading to mojibake (this usually shows up as hollow rectangles, as most fontsfor western text lacks glyphs for kanji or kana).

                          启用–enable-gd-jis-conv选项的话,那么非ASCII字符(例如汉字、拼音、希腊文和箭头) 会被当成EUC-JP编码(phpinfo中美其名曰“支持JIS编码的字体”), 从而导致乱码(由于西文字体没有假名或汉字,一般表现为全部是方框)。

                        • 很有腰
                          很有腰 9

                          很受用 多谢

                        评论已关闭!