我在zabbix中遇到了字符集的问题。我使用zabbix3.4v,并尝试将DB字符集更改为UTF8、cp1251、latin1,没有什么对我没有帮助。我的zabbix代理向服务器发送带有西里尔字符的值,但是zabbix服务器接收所有带有问号的值。我应该怎么做?如何解决问题?
发布于 2018-02-07 22:38:51
很可能是您没有正确地将数据库设置为utf8,这是他仅支持的编码。不过,您还没有指定DB引擎。在MySQL的情况下,仅改变表的编码是不够的,还必须转换现有数据。
下面应该设置默认值并转换所有表(假设正确配置了MySQL身份验证)。请注意,对于大型数据库,这可能需要很长时间。
在执行此操作之前,请确保已备份数据库。
mysql -N zabbix -e 'ALTER DATABASE zabbix DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;'
for table in $(echo "show tables;" | mysql -N zabbix); do echo "ALTER TABLE $table CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;" | mysql -N zabbix; donehttps://stackoverflow.com/questions/48638110
复制相似问题