×

关于zabbix5.0页面出现中文 口 乱码解决方案

hqy hqy 发表于2020-11-30 11:50:12 浏览2045 评论0

抢沙发发表评论

语言设置为中文时,页面乱码如图,有小方块,影响监控


一,zabbix不能配置中文界面的问题:

1, zabbix5.0

系统安装后,web界面不能选择使用中文

系统提示:

mportant; font-size: 12px !important;">
You are not able to choose some of the languages, because locales for them are not installed on the web server.

截图:

 

2,解决问题:手动安装中文语言包:

安装zh_CN语言包

[root@blog include]# dnf install langpacks-zh_CN.noarch

安装glibc-common实现对语言包的识别:

[root@blog include]# dnf install glibc-common

说明;如果已安装过,需要重新安装,用reinstall

[root@blog include]# dnf reinstall glibc-common

因为需要让它识别已安装的语言包

 

测试安装是否成功?

[root@blog dejavu]# locale -a | grep zh_CN
zh_CN
zh_CN.gb18030
zh_CN.gbk
zh_CN.utf8

如果看到zh_CN语言已安装,表示成功

 

3,安装完成后,回到web页面,刷新

可以看到中文语言已可以选中

截图:

 

点击"update"按钮后会自动切换成中文界面 

 

说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest

         对应的源码可以访问这里获取: https://github.com/liuhongdi/

说明:作者:刘宏缔 邮箱: 371125307@qq.com

 

二,zabbix5.0切换到中文界面后,部分在图片上显示的文字会出现中文乱码:

1,看截图:

  

问题的原因在于zabbix默认的字体文件不支持中文,所以中文字符的显示成了乱码 

 

2,如何解决中文乱码?

 

查看zabbix的web目录下include/defines.inc.php文件中对于字体的定义:

define('ZBX_FONTPATH',                          realpath('assets/fonts')); // where to search for font (GD > 2.0.18)define('ZBX_GRAPH_FONT_NAME',           'DejaVuSans'); // font file name

可以看到zabbix使用了自己定义的字体文件,而没有使用linux的系统字体

路径位于web目录下assets/fonts目录

 

安装黑体:

说明:我们可以从windows的字体目录下获取黑体的字体文件,

windows下的字体文件位于:

C:\Windows\Fonts

把文件通过sftp上传到linux服务器即可,

然后复制到zabbix的web目录下assets/fonts目录

[root@blog fonts]# pwd/data/web/zabbix/html/assets/fonts
[root@blog fonts]# cp /home/liuhongdi/fonts/simhei.ttf ./

 

把黑体的字体文件符号链接为zabbix的默认字体:DejaVuSans.ttf

[root@blog fonts]# lsDejaVuSans.ttf  simhei.ttf
[root@blog fonts]# mv DejaVuSans.ttf DejaVuSans.ttf.bak
[root@blog fonts]# ln -s simhei.ttf DejaVuSans.ttf

刷新页面之后,恢复正常

看截图:

 

三,查看zabbix的版本:

复制代码
[root@blog zabbix-5.0.0]# /usr/local/soft/zabbx-5.0.0/sbin/zabbix_server --version
zabbix_server (Zabbix) 5.0.0Revision 9665d62db0 11 May 2020, compilation time: May 17 2020 09:37:03Copyright (C) 2020 Zabbix SIA
License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html>.This is free software: you are free to change and redistribute it according to
the license. There is NO WARRANTY, to the extent permitted by law.
复制代码






在这里插入图片描述
重启zabbix服务

[root@zabbix-server fonts]# systemctl restart zabbix-server.service12

修改后效果

这是因为zabbix web程序缺少中文字体

二、解决方案1:

1、在windows系统找一个中文字体上传到服务器中,我这里找的是华文中宋

华文中宋:%windir%\Fonts\stzhongs.ttf

2、直接将stzhongs.ttf上传到zabbix字体目录下,zabbix-server默认路径地址为/usr/share/zabbix/fonts

3、修改配置文件

默认配置文件在/data/zabbix/include/defines.inc.php

改成

保存退出,然后直接刷新页面就好了

二、解决方案2:

     如果你不想去修改代码,zabbix本身默认字体通过2次软链接,最终的字体文件为/usr/share/fonts/dejavu/DejaVuSans.ttf

把中文字体放上传至 /usr/share/fonts/dejavu/
#备份原来的字体
mv DejaVuSans.ttf DejaVuSans.ttf.bak
#把新华文中宋修改默认字体文件名
mv stzhongs.ttf DejaVuSans.ttf

这种方法不用去修改代码,以免修改代码时发生的错误,之前我就是由于代码有一个地方修改错误导致图下方不显示时间:

 下面这里不需要文件扩展名。

 


打赏

本文链接:https://www.kinber.cn/post/1523.html 转载需授权!

分享到:


推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

 您阅读本篇文章共花了: 

群贤毕至

访客