diff --git a/docs/en/changes/changes.md b/docs/en/changes/changes.md index 5164e6874b..2da98a6eb2 100644 --- a/docs/en/changes/changes.md +++ b/docs/en/changes/changes.md @@ -103,6 +103,7 @@ * Fix `ClassCastException` in `LoggingConfigWatcher`. * Support span attached event concept in Zipkin and SkyWalking trace query. * Support span attached events on Zipkin lens UI. +* Force UTF-8 encoding in `JsonLogHandler` of `kafka-fetcher-plugin`. #### UI diff --git a/oap-server/server-fetcher-plugin/kafka-fetcher-plugin/src/main/java/org/apache/skywalking/oap/server/analyzer/agent/kafka/provider/handler/JsonLogHandler.java b/oap-server/server-fetcher-plugin/kafka-fetcher-plugin/src/main/java/org/apache/skywalking/oap/server/analyzer/agent/kafka/provider/handler/JsonLogHandler.java index d47ca5966d..089af47c23 100644 --- a/oap-server/server-fetcher-plugin/kafka-fetcher-plugin/src/main/java/org/apache/skywalking/oap/server/analyzer/agent/kafka/provider/handler/JsonLogHandler.java +++ b/oap-server/server-fetcher-plugin/kafka-fetcher-plugin/src/main/java/org/apache/skywalking/oap/server/analyzer/agent/kafka/provider/handler/JsonLogHandler.java @@ -19,6 +19,7 @@ package org.apache.skywalking.oap.server.analyzer.agent.kafka.provider.handler; import java.io.IOException; +import java.nio.charset.StandardCharsets; import lombok.extern.slf4j.Slf4j; import org.apache.kafka.clients.consumer.ConsumerRecord; import org.apache.kafka.common.utils.Bytes; @@ -50,7 +51,7 @@ public class JsonLogHandler extends LogHandler { @Override protected LogData parseConsumerRecord(ConsumerRecord record) throws IOException { LogData.Builder logDataBuilder = LogData.newBuilder(); - ProtoBufJsonUtils.fromJSON(record.value().toString(), logDataBuilder); + ProtoBufJsonUtils.fromJSON(new String(record.value().get(), StandardCharsets.UTF_8), logDataBuilder); return logDataBuilder.build(); } }