From f7d30ae038b23b0fa66a17955259e494f599b5fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20Sch=C3=B6neberg?= Date: Sat, 11 Jan 2020 12:05:19 +0100 Subject: [PATCH] solve charset problem when receiving message in app * specified encoding (UTF-8) at other places https://github.com/metasfresh/metasfresh-edi/issues/6 --- .../metas/ui/web/devtools/MigrationScriptRestController.java | 3 ++- .../web/window/descriptor/sql/DocumentFieldValueLoaders.java | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/main/java/de/metas/ui/web/devtools/MigrationScriptRestController.java b/src/main/java/de/metas/ui/web/devtools/MigrationScriptRestController.java index f3ccede25..8bce9af33 100644 --- a/src/main/java/de/metas/ui/web/devtools/MigrationScriptRestController.java +++ b/src/main/java/de/metas/ui/web/devtools/MigrationScriptRestController.java @@ -2,6 +2,7 @@ import java.io.File; import java.io.IOException; +import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.time.LocalDate; @@ -285,7 +286,7 @@ private static byte[] toByteArray(final List lines) { lines.stream() .map(s -> s + "\n") - .map(String::getBytes) + .map(s->s.getBytes(StandardCharsets.UTF_8)) .forEach(bytes -> { try { diff --git a/src/main/java/de/metas/ui/web/window/descriptor/sql/DocumentFieldValueLoaders.java b/src/main/java/de/metas/ui/web/window/descriptor/sql/DocumentFieldValueLoaders.java index 12207bccc..0f7e3030f 100644 --- a/src/main/java/de/metas/ui/web/window/descriptor/sql/DocumentFieldValueLoaders.java +++ b/src/main/java/de/metas/ui/web/window/descriptor/sql/DocumentFieldValueLoaders.java @@ -2,6 +2,7 @@ import java.awt.Color; import java.math.BigDecimal; +import java.nio.charset.StandardCharsets; import java.sql.Array; import java.sql.Blob; import java.sql.Clob; @@ -270,7 +271,7 @@ else if (valueObj instanceof Clob) { final Clob lob = (Clob)valueObj; final long length = lob.length(); - valueBytes = lob.getSubString(1, (int)length).getBytes(); + valueBytes = lob.getSubString(1, (int)length).getBytes(StandardCharsets.UTF_8); } else if (valueObj instanceof Blob) { @@ -280,7 +281,7 @@ else if (valueObj instanceof Blob) } else if (valueObj instanceof String) { - valueBytes = ((String)valueObj).getBytes(); + valueBytes = ((String)valueObj).getBytes(StandardCharsets.UTF_8); } else if (valueObj instanceof byte[]) {