From ce77a3e11cdbca9aa0bafae67dee9406f4533db4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Sexenian?= <99925035+tomas-sexenian@users.noreply.github.com> Date: Thu, 11 Jul 2024 16:11:17 -0300 Subject: [PATCH] Match the server encoding when decoding HTTP response --- .../main/java/com/genexus/internet/HttpClientJavaLib.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/java/src/main/java/com/genexus/internet/HttpClientJavaLib.java b/java/src/main/java/com/genexus/internet/HttpClientJavaLib.java index 09945f764..a3fd0de21 100644 --- a/java/src/main/java/com/genexus/internet/HttpClientJavaLib.java +++ b/java/src/main/java/com/genexus/internet/HttpClientJavaLib.java @@ -4,6 +4,7 @@ import java.net.InetAddress; import java.net.URISyntaxException; import java.net.UnknownHostException; +import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; import java.security.KeyManagementException; import java.security.KeyStoreException; @@ -21,6 +22,7 @@ import org.apache.http.client.config.CookieSpecs; import org.apache.http.conn.routing.HttpRoute; import org.apache.http.conn.ssl.NoopHostnameVerifier; +import org.apache.http.entity.ContentType; import org.apache.http.impl.conn.PoolingHttpClientConnectionManager; import org.apache.http.protocol.HttpContext; import org.apache.http.auth.AuthSchemeProvider; @@ -723,7 +725,11 @@ public String getString() { return ""; try { this.setEntity(); - String res = EntityUtils.toString(entity, "UTF-8"); + Charset charset = ContentType.getOrDefault(entity).getCharset(); + if (charset == null) { + charset = StandardCharsets.UTF_8; + } + String res = EntityUtils.toString(entity, charset); eof = true; return res; } catch (IOException e) {