【Kafka】Kafka乱码解决
一、生产者参数配置
1.1、kafka-console-producer如何设置发送消息的编码格式
kafka-console-producer命令可以通过–property参数设置消息发送的编码格式。具体设置方法如下:
- 在命令行中输入以下命令:
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等。
- 执行命令后,即可使用指定的编码格式发送消息。例如,以下命令可以使用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
版权归原作者 Tzq@2018 所有, 如有侵权,请联系我们删除。