fendouba 发表于 2015-11-23 14:02:16

Zabbix 历史记录处出现问号乱码

Zabbix 历史记录处出现问号乱码
历史记录处出现问号乱码


这与zabbix数据库所使用的字符集有关,解决方法如下:

1.查看当前的默认字符集

12345678910111213141516171819202122mysql>show create database zabbix;+----------+-------------------------------------------------------------------+|Database | Create Database                                                   |+----------+-------------------------------------------------------------------+|zabbix   | CREATE DATABASE `zabbix` /*!40100 DEFAULT CHARACTER SET latin1 */ |+----------+-------------------------------------------------------------------+1row in set (0.00sec)#安装时在导入三个sql文件时,zabbix数据库中创建的表的字符集也是latin1mysql>show variables like 'character%';+--------------------------+----------------------------+|Variable_name            | Value                      |+--------------------------+----------------------------+|character_set_client   | latin1                     ||character_set_connection | latin1                     ||character_set_database   | latin1                     ||character_set_filesystem | binary                     ||character_set_results    | latin1                     ||character_set_server   | latin1                     ||character_set_system   | utf8                     ||character_sets_dir       | /usr/share/mysql/charsets/ |+--------------------------+----------------------------+8rows in set (0.00sec)
2.这是由于字符集不是utf8引起的,现在的解决方法有两种:
当当前zabbix数据库中已存在一定的数据的解决办法
1)备份zabbix数据库

1#mysqldump -uroot -p123456zabbix > zabbix.sql2)修改备份文件

1#sed -i 's/latin1/utf8/g' zabbix.sql3)删除zabbix数据库

1mysql>drop database zabbix;
4)关闭mysql数据库,设置默认字符集

123456#vim /etc/my.cnflog-bindatadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.sockdefault-character-set =utf8 #添加该项
5)启动mysql并恢复zabbix数据库

1#mysql -uroot -p123456 zabbix < zabbix.sql
123456789101112131415161718192021mysql>show create database zabbix;&#43;----------&#43;-----------------------------------------------------------------&#43;|Database | Create Database                                                 |&#43;----------&#43;-----------------------------------------------------------------&#43;|zabbix   | CREATE DATABASE `zabbix` /*!40100 DEFAULT CHARACTER SET utf8 */ |&#43;----------&#43;-----------------------------------------------------------------&#43;1row in set (0.00sec)mysql>show variables like 'character%';&#43;--------------------------&#43;----------------------------&#43;|Variable_name            | Value                      |&#43;--------------------------&#43;----------------------------&#43;|character_set_client   | latin1                     ||character_set_connection | latin1                     ||character_set_database   | utf8                     ||character_set_filesystem | binary                     ||character_set_results    | latin1                     ||character_set_server   | utf8                     ||character_set_system   | utf8                     ||character_sets_dir       | /usr/share/mysql/charsets/ |&#43;--------------------------&#43;----------------------------&#43;8rows in set (0.00sec)6)访问页面

2.当安装后发现,则可以:

123#1.删除zabbix数据库#2.设置mysql数据库的默认字符集为utf8#3.重新创建zabbix数据库并导入三个sql文件

总结:
2
123456789101112--with-charset=CHARSETDefaultcharacter set,use one of:binaryarmscii8ascii big5 cp1250 cp1251 cp1256 cp1257cp850cp852 cp866 cp932 dec8 eucjpms euckr gb2312 gbk geostd8greekhebrew hp8 keybcs2 koi8r koi8ulatin1latin2 latin5 latin7 macce macromansjisswe7 tis620 ucs2 ujis utf8--with-extra-charsets=CHARSET,CHARSET,...Usecharsets in additionto default (none, complex,all,or a list selected from the above sets)#上面这两个是编译安装mysql事对字符集设置的参数,当不进行设置时默认便是latin1,
页: [1]
查看完整版本: Zabbix 历史记录处出现问号乱码