Использовать кириллический файл .properties в проекте eclipse - PullRequest
4 голосов
/ 29 августа 2010

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

Вот мой код:

ResourceBundle labels = ResourceBundle.getBundle("Labels");
btnQuit = new JButton(labels.getString("quit"));

И в моем файле .properties:

quit = Изход

И я получаю мусор. Когда я пытаюсь

btnQuit = new JButton("Изход);

Отображается правильно. Насколько мне известно, UTF-8 - это кодировка, используемая для файлов.

Есть идеи?

Ответы [ 2 ]

7 голосов
/ 29 августа 2010

AnyEdit - плагин eclipse, который позволяет вам легко конвертировать ваши файлы свойств из и в Unicode-нотацию. (избегая использования инструментов командной строки, таких как native2ascii)

Если вы использовали только класс Properties (без пакета ресурсов), то, начиная с Java 1.6, вы можете загрузить файл с пользовательской кодировкой, используя Reader (а не InputStream)

Полагаю, вы также можете использовать new PropertyResourceBundle(reader) вместо ResourceBundle.getBundle(..), где reader:

Reader reader = new BufferedReader(new InputStreamReader(
     getClass().getResourceAsStream("messages.properties"), "utf-8")));
4 голосов
/ 29 августа 2010

Свойства являются ISO-8859-1, закодированными по умолчанию.Вы должны использовать native2ascii для преобразования ваших свойств UTF-8 в действительный файл свойств ISO-8859-1, содержащий escape-последовательности Юникода для всех символов, отличных от ISO-8859-1.

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