From dfc36ab2b2cac3ebde494f1741ec78443226f099 Mon Sep 17 00:00:00 2001 From: Boulay Mathias Date: Wed, 25 Jan 2023 23:10:29 +0100 Subject: [PATCH] Fix: Special unicode chars breaking on controls. Turns out UTF 8 was not always enforced --- .../kdt/pojavlaunch/customcontrols/LayoutConverter.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/LayoutConverter.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/LayoutConverter.java index c9316bca7..209875648 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/LayoutConverter.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/LayoutConverter.java @@ -5,18 +5,23 @@ import com.google.gson.JsonSyntaxException; import net.kdt.pojavlaunch.LwjglGlfwKeycode; import net.kdt.pojavlaunch.Tools; +import org.apache.commons.io.IOUtils; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import org.lwjgl.glfw.CallbackBridge; +import java.io.FileInputStream; import java.io.IOException; +import java.io.InputStreamReader; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; public class LayoutConverter { public static boolean convertLookType = false; //false = flat; true = classic public static CustomControls loadAndConvertIfNecessary(String jsonPath) throws IOException, JsonSyntaxException { - String jsonLayoutData = Tools.read(jsonPath); + + String jsonLayoutData = IOUtils.toString(new InputStreamReader(new FileInputStream(jsonPath), StandardCharsets.UTF_8)); try { JSONObject layoutJobj = new JSONObject(jsonLayoutData);