From a5006e2afbe8e6f55a4ee2a4888837fabca543ff Mon Sep 17 00:00:00 2001 From: however Date: Mon, 18 Aug 2025 21:18:48 +0800 Subject: [PATCH] fix(client-stdio): force UTF-8 decoding in StdioClientTransport --- .../client/transport/StdioClientTransport.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mcp-core/src/main/java/io/modelcontextprotocol/client/transport/StdioClientTransport.java b/mcp-core/src/main/java/io/modelcontextprotocol/client/transport/StdioClientTransport.java index 1b4eaca97..d5fbb0cd8 100644 --- a/mcp-core/src/main/java/io/modelcontextprotocol/client/transport/StdioClientTransport.java +++ b/mcp-core/src/main/java/io/modelcontextprotocol/client/transport/StdioClientTransport.java @@ -180,7 +180,7 @@ public void awaitForExit() { private void startErrorProcessing() { this.errorScheduler.schedule(() -> { try (BufferedReader processErrorReader = new BufferedReader( - new InputStreamReader(process.getErrorStream()))) { + new InputStreamReader(process.getErrorStream(), StandardCharsets.UTF_8))) { String line; while (!isClosing && (line = processErrorReader.readLine()) != null) { try { @@ -246,7 +246,7 @@ public Mono sendMessage(JSONRPCMessage message) { */ private void startInboundProcessing() { this.inboundScheduler.schedule(() -> { - try (BufferedReader processReader = new BufferedReader(new InputStreamReader(process.getInputStream()))) { + try (BufferedReader processReader = new BufferedReader(new InputStreamReader(process.getInputStream(), StandardCharsets.UTF_8))) { String line; while (!isClosing && (line = processReader.readLine()) != null) { try {