zabbix 中文不能写入数据库的问题

zabbix在设置监控的时候,若是键入中文,点击update会提示错误

  • 这是由于咱们在将数据库文件导入数据库时没有修改里面的字体致使
  • 由于咱们已经安装完成了zabbix,而且MySQL里面已经有了不少数据,咱们不能使用从新安装的方式来修改。
  • 能够将数据库文件导出,将字体修改以后再导入进去便可。
    • 在my.conf里面定义字符集格式,修改为utf8
    character_set_database = utf8
    	character_set_server = utf8
    • 将数据库文件导出(也就是之后用到的备份方式)
    mysqldump -uroot -pxxxxx --default-character-set=utf8 zabbix > zabbix.sql
    • 修改导出的数据库,将文件中全部的latin1修改成utf8
    vim zabbix.sql
    	:1,$s/latin1/utf8/g
    ** ##在通常模式下,按下:键,输入1,$s/latin1/utf8/g。表示从第一行到尾行($),s表示替换,将latin1替换为utf8 g是global全局替换。**
  • 而后回到zabbix的UI界面,发现可使用中文了。

在zabbix UI 界面中的图形选项中发现中文是乱码显示的。

  • 这是由于zabbix的文字格式中没有中文的格式
    • 先查看字体文件作在的位置
    vim /usr/share/zabbix/include/defines.inc.php  #搜索fonts
    	define('ZBX_FONTPATH',                          realpath('fonts')); // where to search for font (GD > 2.0.18)
    	define('ZBX_GRAPH_FONT_NAME',           'graphfont'); // font file name
    • cd /usr/share/zabbix/fonts进入到这个目录,它下面的文件就是字体文件
    • 去Windows上拷贝一个中文字体的文件放到这个目录里
      • c盘windows/fonts目录中有简体中文,将文件复制到桌面上
      • 在Linux上执行rz,将字体文件上传至Linux机器上。
    • 将原先的字体文件更名为.bak,而后将新的字体文件改成原先的字体文件。
    • 这样回到zabbix的UI 界面,发现已是中文显示了。
相关文章
相关标签/搜索