2010-08-29 9 views
4

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

Вот мой код:

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

И в моих .properties файл:

бросить = Изход

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

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

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

Любые идеи?

+0

определить «насколько я знаю,» :-) –

ответ

7

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

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

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

Reader reader = new BufferedReader(new InputStreamReader(
    getClass().getResourceAsStream("messages.properties"), "utf-8"))); 
4

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

Смежные вопросы