From 29a190f93a89c0b9d5532aadd7a84f16b1a4c736 Mon Sep 17 00:00:00 2001 From: snowleo Date: Fri, 23 Mar 2012 12:10:46 +0100 Subject: [PATCH 1/2] http://youtu.be/8DdeLUA0Fms --- Essentials/src/com/earth2me/essentials/I18n.java | 1 + 1 file changed, 1 insertion(+) diff --git a/Essentials/src/com/earth2me/essentials/I18n.java b/Essentials/src/com/earth2me/essentials/I18n.java index 63fdcc065..97d500a6a 100644 --- a/Essentials/src/com/earth2me/essentials/I18n.java +++ b/Essentials/src/com/earth2me/essentials/I18n.java @@ -114,6 +114,7 @@ public class I18n implements II18n { currentLocale = new Locale(parts[0], parts[1], parts[2]); } + ResourceBundle.clearCache(); Logger.getLogger("Minecraft").log(Level.INFO, String.format("Using locale %s", currentLocale.toString())); customBundle = ResourceBundle.getBundle(MESSAGES, currentLocale, new FileResClassLoader(I18n.class.getClassLoader(), ess)); localeBundle = ResourceBundle.getBundle(MESSAGES, currentLocale); From 8a22258945e4737230a977202128a581d4d3aeef Mon Sep 17 00:00:00 2001 From: snowleo Date: Fri, 23 Mar 2012 14:22:10 +0100 Subject: [PATCH 2/2] Fix utf-8 decoding problems. --- .../com/earth2me/essentials/EssentialsConf.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/Essentials/src/com/earth2me/essentials/EssentialsConf.java b/Essentials/src/com/earth2me/essentials/EssentialsConf.java index 846a7b4b0..89fb53d34 100644 --- a/Essentials/src/com/earth2me/essentials/EssentialsConf.java +++ b/Essentials/src/com/earth2me/essentials/EssentialsConf.java @@ -126,23 +126,25 @@ public class EssentialsConf extends YamlConfiguration { buffer.rewind(); data.clear(); - LOGGER.log(Level.INFO, "File {0} is not utf-8 encoded, trying {1}", new Object[] - { - configFile.getAbsolutePath().toString(), Charset.defaultCharset().displayName() - }); + LOGGER.log(Level.INFO, "File " + configFile.getAbsolutePath().toString() + "is not utf-8 encoded, trying " + Charset.defaultCharset().displayName()); decoder = Charset.defaultCharset().newDecoder(); result = decoder.decode(buffer, data, true); if (result.isError()) { throw new InvalidConfigurationException("Invalid Characters in file " + configFile.getAbsolutePath().toString()); - } else { + } + else + { decoder.flush(data); } - } else { + } + else + { decoder.flush(data); } + final int end = data.position(); data.rewind(); - super.loadFromString(data.toString()); + super.loadFromString(data.subSequence(0, end).toString()); } finally {