配置都是按照文档来的,mysql的字符集是utf8 mysql-bin.000002« *UTF-80¨£¯Ԭ8BJP58025 XshellXshellXshellXshell8 mysql-bin.000002 *UTF-80,8BJPK w mysql-bin.000002 *UTF-80,8Btest_heJbP'Xb rowsCount1Pa (0BdR char(200)= mysql-bin.000002® *UTF-80,8BJP58052 XshellXshellXshellXshell8 mysql-bin.000002 *UTF-80ȹ8BJPK w mysql-bin.000002 *UTF-80ȹ8Btest_heJbP'Xb rowsCount1Pa (0BdR char(200)= mysql-bin.000002± *UTF-80ȹ8BJP58481 XshellXshellXshellXshell8 mysql-bin.000002 *UTF-80Ԭ8BJPK w mysql-bin.000002 *UTF-80Ԭ8Btest_heJbP'Xb rowsCount1Pa (0BdR char(200)= mysql-bin.000002´ *UTF-80Ԭ8BJP58486 XshellXshellXshellXshellXshell8 mysql-bin.000002 *UTF-80ºBJPK w mysql-bin.000002 *UTF-80ºBtest_heJbP'Xb rowsCount1Pa (0BdR char(200)= mysql-bin.000002· *UTF-80ºBJP58491 XshellXshellXshellXshell8 mysql-bin.000002 *UTF-80,8BJPK w mysql-bin.000002 *UTF-80,8Btest_heJbP'Xb rowsCount1Pa (0BdR char(200)= mysql-bin.000002º UTF-80,8BJP58498 XshellXshellXshellXshel8 mysql-bin.000002 *UTF-80тÿ°Ԭ8BJPK w mysql-bin.000002 *UTF-80тÿ°Ԭ8Btest_heJbP'Xb rowsCount1Pa (0BdR char(200)= mysql-bin.000002½ UTF-80тÿ°Ԭ8BJP58507 XshellXshellXshellXshell 8 mysql-bin.000002 *UTF-80Ȇ±Ԭ8BJPK w mysql-bin.000002 *UTF-80Ȇ±Ԭ8Btest_heJbP'Xb rowsCount1Pa (0BdR char(200)= mysql-bin.000002 UTF-80Ȇ±Ԭ8BJP58520 XshellXshellXshellXshell 8 mysql-bin.000002 ¡ *UTF-80¸²±Ԭ8BJPK w mysql-bin.000002¢ *UTF-80¸²±Ԭ8Btest_heJbP'X rowsCount1Pa (0BdR char(200)= mysql-bin.000002â UTF-80¸²±Ԭ8BJP58525 XshellXshellXshellXshell 8 mysql-bin.000002££ *UTF-80±Ԭ8BJPK w mysql-bin.000002¤ *UTF-80±Ԭ8Btest_heJbP'Xb rowsCount1Pa (0BdR char(200)= mysql-bin.000002Ƥ *UTF-80±Ԭ8BJP58538
原提问者GitHub用户ZSH9053
传到kafka的是message的序列化数据,客户端收到后会反序列化为message的
原回答者GitHub用户rewerma
可能是因为传输的数据没有按照正确的编码格式进行解码。Kafka默认的编码格式是UTF-8,如果传输的数据不是UTF-8编码,就会出现乱码的情况。
您可以尝试在Kafka的配置文件中添加以下配置,将Kafka的编码格式设置为与MySQL相同的编码格式:
producer.encoding=UTF-8
consumer.encoding=UTF-8
另外,您也可以检查一下MySQL的字符集设置是否正确。可以在MySQL中执行以下命令来查看字符集设置:
show variables like 'character%';
如果设置不正确,可以使用以下命令来修改:
set character_set_server=utf8;
set character_set_database=utf8;
set character_set_connection=utf8;
传输到Kafka后显示乱码可能是因为编码格式不一致导致的。建议检查发送消息的编码格式和Kafka的编码格式是否一致。同时,也需要检查消费者端的编码格式是否与发送消息的编码格式一致。如果不一致,就需要进行相应的编码转换。另外,也需要注意Kafka中文字符集的支持情况,建议使用UTF-8编码格式发送中文消息。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。