Проблема кодировки испанского языка с методом загрузки класса Java Properties - PullRequest
2 голосов
/ 22 апреля 2019

Я пытаюсь закодировать испанский язык для интернационализации и использовать метод загрузки класса Java Properties, чтобы заполнить его, чтобы передать его во внешний интерфейс.

Я пытался закодировать его с использованием UTF-8, но все еще символы акцента поступают неправильно.

import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.nio.charset.Charset;
import java.util.Properties;

public class Message extends Properties {

    public static void main(String[] args) throws IOException {
        String spanish = "label=Sí";
        Message messages = new Message();
        messages.load(new ByteArrayInputStream(spanish.getBytes(Charset.forName("UTF-8"))));

        System.out.println(messages.get("label"));

    }

}

Когда я запускаю приведенный выше код, я получаю текст как "SÃ-". Как я могу получить тот же текст, что и "Sí"?

1 Ответ

1 голос
/ 22 апреля 2019

Попробуйте использовать ISO-8859-1, он получит ожидаемый результат:

 messages.load(new ByteArrayInputStream(spanish.getBytes(Charset.forName("ISO-8859-1"))));

Подробнее об ISO-8859-1 можно получить по этой ссылке: https://en.wikipedia.org/wiki/ISO/IEC_8859-1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...