0


【Kafka】Kafka消息乱码解决

【Kafka】Kafka乱码解决


一、生产者参数配置

1.1、kafka-console-producer如何设置发送消息的编码格式

kafka-console-producer命令可以通过–property参数设置消息发送的编码格式。具体设置方法如下:

  1. 在命令行中输入以下命令:
kafka-console-producer --broker-list <broker_list> --topic <topic> --property value.serializer=org.apache.kafka.common.serialization.StringSerializer --property value.encoding=<encoding>

其中,<broker_list>是Kafka集群中的broker地址列表,是要发送消息的主题名,是要使用的编码格式,例如UTF-8、GBK等。

  1. 执行命令后,即可使用指定的编码格式发送消息。例如,以下命令可以使用UTF-8编码格式发送消息:
kafka-console-producer --broker-list localhost:9092 --topic test --property value.serializer=org.apache.kafka.common.serialization.StringSerializer --property value.encoding=UTF-8

注意,如果要发送的消息中包含非ASCII字符,需要使用支持该字符集的编码格式。

1.2、实操

命令如下:

kafka-console-producer.bat --broker-list localhost:9092 --topic test --property value.serializer=org.apache.kafka.common.serialization.StringSerializer --property value.encoding=UTF-8

二、消费者参数配置

2.1、kafka-console-consumer如何设置接收消息的编码格式

kafka-console-consumer 命令可以通过 --property 参数来设置接收消息的编码格式。具体来说,可以通过以下命令来设置接收消息的编码格式为 UTF-8:

kafka-console-consumer --bootstrap-server <server>:<port> --topic <topic> --from-beginning --property print.key=true --property print.value=true --property key.deserializer=org.apache.kafka.common.serialization.StringDeserializer --property value.deserializer=org.apache.kafka.common.serialization.StringDeserializer --property consumer.encoding=UTF-8

其中,–property consumer.encoding=UTF-8 参数用于设置接收消息的编码格式为 UTF-8。如果需要设置其他编码格式,只需要将 UTF-8 替换为对应的编码格式即可。

2.2、实操

kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --from-beginning --property print.key=true --property print.value=true --property key.deserializer=org.apache.kafka.common.serialization.StringDeserializer --property value.deserializer=org.apache.kafka.common.serialization.StringDeserializer --property consumer.encoding=UTF-8
标签: kafka

本文转载自: https://blog.csdn.net/tttzzzqqq2018/article/details/135111651
版权归原作者 Tzq@2018 所有, 如有侵权,请联系我们删除。

“【Kafka】Kafka消息乱码解决”的评论:

还没有评论