zabbix中文字符乱码问题,三种解决办法总结。总有一种方法适合你

cheyunhua cheyunhua     2022-12-11     497

关键词:

 

乱码问题解决办法

技术图片

方法一:替换字体

修改zabbix的web前端 vim /www/html/zabbix/include/defines.inc.php
将DejaVuSans替换为simkai,一共有两处

define(‘ZBX_FONT_NAME‘, ‘DejaVuSans‘);
define(‘ZBX_GRAPH_FONT_NAME‘, ‘DejaVuSans‘); 

 

把 DejaVuSans 替换为 simkai

define(‘ZBX_FONT_NAME‘, ‘simkai‘);
define(‘ZBX_GRAPH_FONT_NAME‘, ‘simkai‘)
  • 1
  • 2

感觉这个方法还是不行,那就看方法二

方法二:修改数据库编码

由于 mysql 数据库的字符集格式,我们默认使用的字符集为 utf8,而 mysql 里的字符集为 latin1;在创建数据库的时候没有指定为 UTF8 的格式,也是会造成乱码的问题出现。

# mysqldump -uzabbix -p zabbix > /tmp/zabbix.sql
# sed -i ‘s/latin1/utf8/‘ /tmp/zabbix.sql 

 

把原来的数据库删除,创建新的 zabbix 数据库

# mysqladmin -uzabbix -p drop zabbix
Dropping the database is potentially a very bad thing to do.
Any data stored in the database will be destroyed.
Do you really want to drop the ‘zabbix‘ database [y/N] y
Database "zabbix" dropped
# mysql -uzabbix -p
mysql> create database zabbix create character set utf8;
# mysql -uroot -predhat zabbix < /tmp/zabbix.sql没有觉得以上两种方法还是解决不了问题,那就参照方法三

方法三:修改 PHP 文件

第一种:重新编译安装php,禁用-enable-gd-jis-conv选项,这种方式代价较大;
第二种:就是修改php代码:
   1、在include/gaphs-inc.php文件中找到imagettftext()这个函数;
   2、找到文件后将一下这段php代码复制到该文件中,对应 imagettftext() 这个函数的下面添加:

function to_entities($string)
    $len = strlen($string);
    $buf = "";
    for($i = 0; $i < $len; $i++)
        if (ord($string[$i]) <= 127)
            $buf .= $string[$i];
         else if (ord ($string[$i]) <192)
            //unexpected 2nd, 3rd or 4th byte
            $buf .= "?";
         else if (ord ($string[$i]) <224)
            //first byte of 2-byte seq
            $buf .= sprintf("&#%d;",
                ((ord($string[$i + 0]) & 31) << 6) +
                (ord($string[$i + 1]) & 63)
            );
            $i += 1;
         else if (ord ($string[$i]) <240)
            //first byte of 3-byte seq
            $buf .= sprintf("&#%d;",
                ((ord($string[$i + 0]) & 15) << 12) +
                ((ord($string[$i + 1]) & 63) << 6) +
                (ord($string[$i + 2]) & 63)
            );
            $i += 2;
         else 
            //first byte of 4-byte seq
            $buf .= sprintf("&#%d;",
                ((ord($string[$i + 0]) & 7) << 18) +
                ((ord($string[$i + 1]) & 63) << 12) +
                ((ord($string[$i + 2]) & 63) << 6) +
                (ord($string[$i + 3]) & 63)
            );
            $i += 3;
        
    
    return $buf;

将以上代码添加到 zabbix/include 下的 graphs-inc.php 文件中,之后依次修改该文件中的imagettftext()函数

将最后一个 $string 参数修改为 to_entities($string)

 

修改样式参照图如下:

技术图片
至此不用重启服务就会发现zabbix的图表已经可以正确显示中文了






zabbix中文乱码问题

1)问题描述,zabbix安装好之后,默认中文是乱码不支持的,如下图所示:2)解决方法(需要修改字符集):[[email protected]~]#cd/data/web/fonts/[[email protected]fonts]#ll总用量740-rw-r--r--.1100010007560725月522:50DejaVuSans.ttf[[email prot 查看详情

zabbix改中文后乱码解决办法

解决方法:将windows中的字体,替换zabbix PHP 中的字体。1.打开windows控制面板——》字体——》如选择“黑体”——》上传到Linux中fonts目录下(rz命令)2.将名字改为小写“simhei.ttf”3.原字体文件备份mv /var/www/html/zabbix/f... 查看详情

arcgis错误异常100问之003:属性表中文乱码解决办法总结

...编码的问题,导致加载矢量数据并打开属性表后,会发现中文字段出现了乱码。属性表中文乱码:2.原因分析中文系统一般采 查看详情

zabbix监控图表中乱码的解决办法(代码片段)

一.问题背景在Zabbix安装完成之后,Web前端页面语音设置为中文之后,图表中部分中文文字显示为乱码,如下图所示:二.解决方案2.1执行以下命令[[email protected]~]#yum-yinstallwqy-microhei-fonts[[email protected]~]#cp/usr/share/fonts/wqy-micr... 查看详情

yum源安装zabbix图形中文乱码解决

zabbix在切换成中文的时候,图形总有些英文翻译过来是方块形,通过亲测,终于解决。把SIMKAI.ttf拷贝到/usr/share/zabbix/fonts然后进入/usr/share/zabbix/include/defines.inc.php修改#define(‘ZBX_GRAPH_FONT_NAME‘,     ‘graphfont‘);& 查看详情

zabbix图形中文乱码“囗囗”快速解决方法

1、安装zabbix后配置图形发现图形里有乱码如图所示解决办法1、复制本地电脑C:\Windows\Fonts\simkai.ttf(楷体)上传到zabbix服务器网站目录的fonts目录下2、zabbix网站目录fonts目录查找如下:[[email protected]/]#whereiszabbixzabbix:/usr/lib/zabb... 查看详情

解决zabbix中文乱码问题

解决zabbix中文乱码问题    在安装完zabbix之后,我们会发现想设置语言为中文时,会发现其显示不支持修改语言,说我们缺少一个gettext模块,这时候,我们就要安装这个模块。先去到之前源码安装php时,解压缩的... 查看详情

zabbix5.0设置为中文并解决zabbix中文乱码问题(代码片段)

zabbix设置为中文并解决中文乱码问题一、设置为中文二、中文乱码问题一、设置为中文如下图所:zabbix刚部署完成的正常状态1)选择Usersettings然后将语言修改为Chinese(zh_CN)即可。2)修改完成后如下二、中文... 查看详情

zabbix5.0设置为中文并解决zabbix中文乱码问题(代码片段)

zabbix设置为中文并解决中文乱码问题一、设置为中文二、中文乱码问题一、设置为中文如下图所:zabbix刚部署完成的正常状态1)选择Usersettings然后将语言修改为Chinese(zh_CN)即可。2)修改完成后如下二、中文... 查看详情

zabbix中文乱码解决(代码片段)

问题现象:zabbix字体修改成中文后监控显示乱码  原因:该问题是由于zabbix默认使用的是“DejaVuSans.ttf”(zabbix3.2.7默认使用的是“graphfont.ttf”),该字体对中文支持度不好,因此数据会有乱码。  解决... 查看详情

解决zabbix使用中文是出现乱码的问题

  解决zabbix使用中文是出现乱码的问题①:上传windows的simhei.ttf字体到zabbix服务器的/usr/share/zabbix/fonts/目录下 ②:编辑/usr/share/zabbix/include/defines.inc.php配置文件,修改define(‘ZBX_FONT_NAME‘,‘simhei‘);define(‘ZBX_GRA 查看详情

zabbix实战之故障处理篇zabbix监控中文乱码问题解决方法

【Zabbix实战之故障处理篇】Zabbix监控中文乱码问题解决方法一、问题展现1.查看Zabbix仪表盘2.问题分析二、检查Zabbix环境1.检查Zabbix监控主机2.检查Zabbix各组件状态三、在宿主机安装中文字体库1.安装中文字体2.查看字体文件四、安... 查看详情

zabbix中文乱码

安装完zabbix之后,调整中文界面发现字体乱码,创建数据库制定字符集为utf8。其实原因是zabbix使用DejaVuSan.ttf字体,不支持中文,导致中文出现乱码。解决方法很简单,把我们电脑里面字体文件传到zabbix服务器上。首先确认zabbix是... 查看详情

解决zabbix中文字体局部乱码问题

问题:当zabbix的Web界面切换中文字体时,局部出现中文乱码:原因:1、初始化数据库的时候未使用utf8编码所致.初始化数据库使用命令    create database zabbix default charset utf8;    或者... 查看详情

分布式监控系统zabbix-3.0.3-完整安装记录-解决zabbix监控图中出现中文乱码问题

 之前部署了Zabbix-3.0.3监控系统,在安装数据库时已经将zabbix库设置了utf-8字符。首先确定zabbix开启了中文支持功能:登录到zabbix服务器的数据目录下(前面部署的zabbix数据目录是/data/www/zabbix),打开locales.inc.php文件[[email ... 查看详情

修改zabbix为中文,并解决乱码问题(三)

当Zabbix安装完成后,默认则是英文界面,有的人看英文不习惯,现在将其改为中文界面一、修改为中文1、打开Zabbix界面,Administrator-Users选择语言-Chinese(zh_CN)-update-刷新ZabbixWeb页面       2、再次打开界面... 查看详情

zabbix4.0web管理界面中文乱码解决方法(转)

Zabbix安装好之后,监控图形页面出现字符集乱码解决方法:1、复制本地电脑C:\Windows\Fonts\simkai.ttf(楷体)上传到zabbix服务器网站目录的fonts目录下2、zabbix网站目录fonts目录查找如下:[[email protected]~]#whereiszabbixzabbix:/usr/lib/zabbi... 查看详情

oracle导入中文乱码解决办法

Oracle导入中文乱码解决办法一、确保各个客户端字符集的编码同服务器字符集编码一致1-      确定sqlplus字符集编码,如果是windows设置环境变量。 2-      确保SecureCRT客户端的字符集... 查看详情