читать ресурсный пакет как UTF-8. Метод getString (), кажется, меняет кодировку на ISO-8859

У меня есть почетное задание изменить кодировку нашего полного рабочего пространства, проектов и файлов на кодировку UTF-8. У нас есть несколько Resourcebundles, которые используются для кодирования специальных символов с помощью Unicode. Мы также хотели избавиться от этого Unicode, переключившись на UTF-8, поэтому я также изменил кодировку файлов Resourcebundles (.properties) и заменил символы Unicode.

У нас также есть немецкие ресурсные пакеты и некоторые символы, такие как

Ä, Ö, Ü, ß. ä, ö, ü, а также специальные символы, такие как «или»

не отображаются должным образом в браузере. Пример:

Resourcebundleentry:

executeShellCommand.label = Shellkommando ausführen

Результат в браузере:

Пакеты ресурсов читаются с помощью метода Java.util.ResourceBundle.getString (String key):

    public String getLocalizedString(ResourceBundle bundle, String key) {
    try {
        System.out.println("getLocalizedString, key: " + key + ", resourcebundle: " + bundle.getString(key));
        return bundle.getString(key);
    } catch (MissingResourceException e) {
        return key;
    }
}

Если я проверяю вывод вышеупомянутого Sysout, я получаю следующее:getLocalizedString, key: executeShellCommand.label, resourcebundle: Shellkommando ausführen

Кажется, чтоМетод getString (key) изменяет кодировку символов при чтении их от связок до стандартного кодирования ресурсов (ISO-8859).

Я пытался противостоять этой проблеме:

    public String getLocalizedString(ResourceBundle bundle, String key) {
    try {
        System.out.println("getLocalizedString, key: " + key + ", resourcebundle: " + new String (bundle.getString(key).getBytes(), "UTF-8"));
        return new String (bundle.getString(key).getBytes(), "UTF-8");
    } catch (MissingResourceException e) {
        return key;
    } catch (UnsupportedEncodingException e) {
        return key;
    }
}

Это помогло восстановить самые специальные символы, но есть еще много, которые не отображаются должным образом:

Я также проверил конфигурацию типа содержимого WebApp и каждого отдельного запроса, который получает пакеты ресурсов, все это utf-8.

У кого-нибудь есть идеи какпредотвратить getString () - метод от изменения кодировки или есть лучший способ решить эту проблему?

Ответы на вопрос(2)

Ваш ответ на вопрос