目录 乱码问题通常是由于编码不一致导致的。Kafka在处理消息时,如果生产者和消费者的字符编码设置不一致,可能会导致乱码。 解决方法: 确认Kafka生产者和消费者的字符编码设置一致。 对于Java生产者和消费者,可以在配置中设置字符编码: 如果使用的是命令行工具,确保控制台的字符编码与Kafka消息编码一致。 在Windows系统中,可以通过修改控制台默认编码为UTF-8来解决: 在Linux系统中,可以通过设置环境变量来调整字符编码: 如果是通过日志查看器查看消息导致乱码,确保日志查看器支持的编码与Kafka消息编码一致。 总结,乱码问题的解决需要确保生产者和消费者在处理字符串时使用相同的编码设置,并且确保中间传输环节(如控制台、日志系统)支持该编码。如果是Windows系统,可能需要更改控制台的代码页设置。
props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");
props.put("serializer.encoding", "UTF-8"); // 设置编码格式
props.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
props.put("value.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
props.put("deserializer.encoding", "UTF-8"); // 设置编码格式
chcp 65001
export LANG=en_US.UTF-8