From 824a7d57aabf7939756a2eb789aeda411ad8f8b3 Mon Sep 17 00:00:00 2001 From: sirjonasxx <36828922+sirjonasxx@users.noreply.github.com> Date: Sun, 28 Jun 2020 15:46:29 +0200 Subject: [PATCH] utf8 strings in expressions --- .../gearth/misc/packetrepresentation/PacketStringUtils.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/G-Earth/src/main/java/gearth/misc/packetrepresentation/PacketStringUtils.java b/G-Earth/src/main/java/gearth/misc/packetrepresentation/PacketStringUtils.java index d846450..7814fc3 100644 --- a/G-Earth/src/main/java/gearth/misc/packetrepresentation/PacketStringUtils.java +++ b/G-Earth/src/main/java/gearth/misc/packetrepresentation/PacketStringUtils.java @@ -118,9 +118,10 @@ public class PacketStringUtils { } } actualString.append(match); + String latin = new String(actualString.toString().getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1); packet = packet.substring(0, start) + - toString(new HPacket(0, actualString.toString()).readBytes(actualString.length() + 2, 6)) + + toString(new HPacket(0, latin).readBytes(latin.length() + 2, 6)) + packet.substring(end + 2); } @@ -195,7 +196,7 @@ public class PacketStringUtils { } else if (c == 'i') builder.append("{i:").append(prevInt = p.readInteger()).append('}'); else if (c == 's') builder.append("{s:\"").append( - p.readString() + new String(p.readString().getBytes(StandardCharsets.ISO_8859_1), StandardCharsets.UTF_8) .replace("\\", "\\\\") // \ -> \\ .replace("\"", "\\\"") // " -> \" .replace("\r", "\\r") // CR -> \r