From ee5b813aec4433b2ea563c2b2002317ee402ed3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Sexenian?= <99925035+tomas-sexenian@users.noreply.github.com> Date: Thu, 10 Oct 2024 10:18:37 +0000 Subject: [PATCH 1/3] Encode using UTF-8 if return has funny characters Issue:201744 --- java/src/main/java/com/genexus/internet/HttpClientJavaLib.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/java/src/main/java/com/genexus/internet/HttpClientJavaLib.java b/java/src/main/java/com/genexus/internet/HttpClientJavaLib.java index a3fd0de21..662d47cb0 100644 --- a/java/src/main/java/com/genexus/internet/HttpClientJavaLib.java +++ b/java/src/main/java/com/genexus/internet/HttpClientJavaLib.java @@ -730,6 +730,9 @@ public String getString() { charset = StandardCharsets.UTF_8; } String res = EntityUtils.toString(entity, charset); + if (res.matches(".*[Ã-ÿ].*")) { + res = EntityUtils.toString(entity, StandardCharsets.UTF_8); + } eof = true; return res; } catch (IOException e) { From 0252dc806646afc949b7f3822899c6b72c8c5dff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Sexenian?= <99925035+tomas-sexenian@users.noreply.github.com> Date: Thu, 17 Oct 2024 22:10:12 -0300 Subject: [PATCH 2/3] Remove funny characters fix. Encode with UTF8 by default. --- .../com/genexus/internet/HttpClientJavaLib.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/java/src/main/java/com/genexus/internet/HttpClientJavaLib.java b/java/src/main/java/com/genexus/internet/HttpClientJavaLib.java index 662d47cb0..895931ccc 100644 --- a/java/src/main/java/com/genexus/internet/HttpClientJavaLib.java +++ b/java/src/main/java/com/genexus/internet/HttpClientJavaLib.java @@ -725,14 +725,17 @@ public String getString() { return ""; try { this.setEntity(); - Charset charset = ContentType.getOrDefault(entity).getCharset(); - if (charset == null) { + ContentType contentType = ContentType.getOrDefault(entity); + Charset charset; + if (contentType.equals(ContentType.DEFAULT_TEXT)) { charset = StandardCharsets.UTF_8; + } else { + charset = contentType.getCharset(); + if (charset == null) { + charset = StandardCharsets.UTF_8; + } } String res = EntityUtils.toString(entity, charset); - if (res.matches(".*[Ã-ÿ].*")) { - res = EntityUtils.toString(entity, StandardCharsets.UTF_8); - } eof = true; return res; } catch (IOException e) { From c23fb522a7afcdb3e56e89698ab6238bb0a90c6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Sexenian?= <99925035+tomas-sexenian@users.noreply.github.com> Date: Sat, 2 Nov 2024 11:13:59 +0900 Subject: [PATCH 3/3] Encode with UTF-8 if getString has funny characters --- .../com/genexus/internet/HttpClientJavaLib.java | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/java/src/main/java/com/genexus/internet/HttpClientJavaLib.java b/java/src/main/java/com/genexus/internet/HttpClientJavaLib.java index 895931ccc..9268e79f7 100644 --- a/java/src/main/java/com/genexus/internet/HttpClientJavaLib.java +++ b/java/src/main/java/com/genexus/internet/HttpClientJavaLib.java @@ -725,23 +725,16 @@ public String getString() { return ""; try { this.setEntity(); - ContentType contentType = ContentType.getOrDefault(entity); - Charset charset; - if (contentType.equals(ContentType.DEFAULT_TEXT)) { - charset = StandardCharsets.UTF_8; - } else { - charset = contentType.getCharset(); - if (charset == null) { - charset = StandardCharsets.UTF_8; - } - } + Charset charset = ContentType.getOrDefault(entity).getCharset(); String res = EntityUtils.toString(entity, charset); + if (res.matches(".*[Ã-ÿ].*")) { + res = EntityUtils.toString(entity, StandardCharsets.UTF_8); + } eof = true; return res; } catch (IOException e) { setExceptionsCatch(e); - } catch (IllegalArgumentException e) { - } + } catch (IllegalArgumentException e) {} return ""; }