diff options
author | Jakob Heher <jakob.heher@iaik.tugraz.at> | 2022-02-16 22:43:31 +0100 |
---|---|---|
committer | Jakob Heher <jakob.heher@iaik.tugraz.at> | 2022-02-16 22:43:31 +0100 |
commit | 3f9d5688b76914469894b6049c2c3590826c4987 (patch) | |
tree | 189e714bba725354bff27d5a62f92b1a71c428c7 /pdf-over-commons/src/main | |
parent | 1fad1b9d59531948f5e8ac13adb16905016dbaf3 (diff) | |
download | pdf-over-3f9d5688b76914469894b6049c2c3590826c4987.tar.gz pdf-over-3f9d5688b76914469894b6049c2c3590826c4987.tar.bz2 pdf-over-3f9d5688b76914469894b6049c2c3590826c4987.zip |
sanitize utf-8 support across all supported java versions; please re-test #45 after this
Diffstat (limited to 'pdf-over-commons/src/main')
-rw-r--r-- | pdf-over-commons/src/main/java/at/asit/pdfover/commons/Messages.java | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/pdf-over-commons/src/main/java/at/asit/pdfover/commons/Messages.java b/pdf-over-commons/src/main/java/at/asit/pdfover/commons/Messages.java index f881f621..36cc921d 100644 --- a/pdf-over-commons/src/main/java/at/asit/pdfover/commons/Messages.java +++ b/pdf-over-commons/src/main/java/at/asit/pdfover/commons/Messages.java @@ -15,6 +15,7 @@ */ package at.asit.pdfover.commons; +import java.io.UnsupportedEncodingException; // Imports import java.util.HashMap; import java.util.Locale; @@ -92,11 +93,7 @@ public class Messages { * @return the localized message */ public static String getString(String key) { - try { - return getBundle(currentLocale).getString(key); - } catch (MissingResourceException e) { - return '!' + key + '!'; - } + return getString(key, currentLocale); } /** @@ -107,7 +104,14 @@ public class Messages { */ public static String getString(String key, Locale locale) { try { - return getBundle(locale).getString(key); + String value = getBundle(locale).getString(key); + + /* DIRTY HACK: this recognizes java 8 ("1.8") and older; these versions read .properties files as ISO-8859-1 instead of UTF-8 */ + if (System.getProperty("java.version").startsWith("1.")) + try { value = new String(value.getBytes("ISO-8859-1"), "UTF-8"); } catch (UnsupportedEncodingException e) {} + + log.trace("[{}] {}: {} -> {}", new Object[]{System.getProperty("java.version"), currentLocale, key, value}); + return value; } catch (MissingResourceException e) { return '!' + key + '!'; } |