zoukankan      html  css  js  c++  java
  • zabbix中文乱码解决

    问题描述:

    在Zabbix界面设置中,已经调成中文语言,可能zabbix自身携带的字体还不够完美,出现如下乱码:省略
    2. 上传“楷体 常规”字体到zabbix服务器中的指定目录中
    目标目录:/usr/share/zabbix/fonts/  
      simkai.ttf    #楷体字体文件名,上传的楷体
    
    3. 编辑zabbix字体定义文件
    [root@zabbix ~]#  vim /usr/share/zabbix/include/defines.inc.php
    将关键字 “graphfont” 改为“simkai”    //共2处:54行和103行
    
    或者执行以下替换命令:
     sed -i  's/graphfont/simkai/g' /usr/share/zabbix/include/defines.inc.php
    
    4. 刷新zabbix界面就可看到效果

    以上方法只能解决部分显示中文乱码的问题

    导入模板或者新建群组时,用到中文保存时会报错 (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='

    通过报错可以看出是sql执行出错,报错描述Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE)可以看出是数据库字符集的问题。
    
    解决方法如下:

    1、去zabbix数据库主机查看数据库字符集。

    MariaDB [(none)]> show variables like "%char%";
    +--------------------------+----------------------------+
    | Variable_name            | Value                      |
      -------------------------+----------------------------+
    ▽ character_set_client     | utf8                       |
    | character_set_connection | utf8                       |
    | character_set_database   | latin1                     |
    | character_set_filesystem | binary                     |
    | character_set_results    | utf8                       |
    | character_set_server     | latin1                     |
    | character_set_system     | utf8                       |
    | character_sets_dir       | /usr/share/mysql/charsets/ |
    +--------------------------+----------------------------+
    8 rows in set (0.00 sec)
    可以看到 character_set_database和character_set_server的字符集都不是utf8的所以需要进行设置。
    

    2、修改数据库配置文件(默认在/etc/my.cnf),增加如下配置:

    [mysql]
    default-character-set=utf8
    [mysqld]
    character-set-server = utf8
    

    3、重启数据库登录后再次执行show variables like '%char%';结果都是utf8了,如下:

    MariaDB [(none)]> show variables like '%char%';
    +--------------------------+----------------------------+
    | 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/share/mysql/charsets/ |
    +--------------------------+----------------------------+
    8 rows in set (0.00 sec)
    

    4、重新导入zabbix数据模型。再次添加带中文的模版或者主机群组就可以啦。所以大家最好在最初搭建zabbix数据库时加上这个参数,避免发生这样的问题。还可以在创建数据库的时候指定字符集用如下语句创建:

    mysql>create database zabbix  character set utf8;
    
  • 相关阅读:
    shell 脚本语法
    discuz pre_forum_postposition表说明
    PHP调试工具Xdebug安装配置教程
    检查用户头像状态的脚本
    PHP 性能监测
    Mysql 索引优化
    MySQL主从复制配置
    vue mixin 混入
    vue渲染方式:render和template的区别
    vue自定义指令directive Vue.directive() directives
  • 原文地址:https://www.cnblogs.com/cdw0724/p/10894145.html
Copyright © 2011-2022 走看看