开发者社区> 问答> 正文

为什么我传输到kafka那里显示的全是乱码

配置都是按照文档来的,mysql的字符集是utf8 mysql-bin.000002« *UTF-80¨£¯Ԭ8BJP58025 XshellXshellXshellXshell8 mysql-bin.000002 *UTF-80򯰖,8BJPK w mysql-bin.000002 *UTF-80򯰖,8Btest_heJbP'Xb rowsCount1򂎁Pa (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 rowsCount1򂎁Pa (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 rowsCount1򂎁Pa (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 rowsCount1򂎁Pa (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 rowsCount1򂎁Pa (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 rowsCount1򂎁Pa (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 rowsCount1򂎁Pa (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 rowsCount1򂎁Pa (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 rowsCount1򂎁Pa (0BdR char(200)= mysql-bin.000002Ƥ *UTF-80׍±Ԭ8BJP58538

原提问者GitHub用户ZSH9053

展开
收起
Java工程师 2023-05-08 19:31:11 621 0
3 条回答
写回答
取消 提交回答
  • 传到kafka的是message的序列化数据,客户端收到后会反序列化为message的

    原回答者GitHub用户rewerma

    2023-05-09 19:34:55
    赞同 展开评论 打赏
  • 可能是因为传输的数据没有按照正确的编码格式进行解码。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;
    
    2023-05-09 09:10:50
    赞同 展开评论 打赏
  • 传输到Kafka后显示乱码可能是因为编码格式不一致导致的。建议检查发送消息的编码格式和Kafka的编码格式是否一致。同时,也需要检查消费者端的编码格式是否与发送消息的编码格式一致。如果不一致,就需要进行相应的编码转换。另外,也需要注意Kafka中文字符集的支持情况,建议使用UTF-8编码格式发送中文消息。

    2023-05-09 08:04:55
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Java Spring Boot开发实战系列课程【第16讲】:Spring Boot 2.0 实战Apache Kafka百万级高并发消息中间件与原理解析 立即下载
MaxCompute技术公开课第四季 之 如何将Kafka数据同步至MaxCompute 立即下载
消息队列kafka介绍 立即下载