Свойства Java в кодировке UTF-8 в Eclipse - PullRequest
48 голосов
/ 14 мая 2009

Мне недавно пришлось сменить кодировку веб-приложения, над которым я работаю, со ISO-xx на utf8. Все прошло гладко, кроме файлов свойств. Я добавил -Dfile.encoding=UTF-8 в eclipse.ini и нормальные файлы работают нормально. Однако свойства показывают странное поведение.

Если я скопирую закодированные utf8 свойства из Notepad ++ и вставлю их в Eclipse, они будут отображаться и работать нормально. Когда я снова открываю файл свойств, я вижу некоторые символы Юникода вместо правильных, например:

Zur\u00EF\u00BF\u00BDck instead of Zurück

но приложение все еще работает нормально. Если я начну редактировать свойства, добавлю некоторые специальные символы и сохраню их, они отображаются правильно, однако они не работают и все ранее работающие специальные символы больше не работают.

Когда я сравниваю локальную версию с CVS, я правильно вижу специальные символы в удаленном файле, и после обновления я снова запускаюсь: приложение работает, но Eclipse отображает символы Unicode.

Я попытался изменить кодировку файла, щелкнув по нему правой кнопкой мыши и выбрав «Другое: UTF8», но это не помогло. Также сказано: «определено по содержанию: ISO-8859-1»

Я использую Java 6 и Jboss Developer на основе Eclipse 3.3

Я могу жить с этим, отредактировав свойства в Notepad ++ и вставив их в Eclipse, но я был бы признателен, если бы кто-нибудь помог мне исправить это в Eclipse.

Ответы [ 12 ]

1 голос
/ 07 октября 2009

Это работает только для некоторых символов ... включая специальные символы для немецкого, португальского и французского языков. Однако у меня возникли проблемы с русскими, хинди и мандаринскими персонажами. Они не конвертируются в формат свойств 'native2ascii', а сохраняются с ?? ?? ??
Единственный способ заставить мое приложение правильно отображать эти символы - поместить их в файл свойств, переведенный в формат UTF-8 - \ u0915 вместо क или \ u044F вместо я. Любой совет?

0 голосов
/ 22 апреля 2011

Если свойства предназначены для XML или HTML, безопаснее всего использовать объекты XML. Их читать сложнее, но это означает, что файл свойств можно рассматривать как прямой ASCII, поэтому ничего не будет искажено.

Обратите внимание, что в HTML есть объекты, которых нет в XML, поэтому я сохраняю их в безопасности, используя прямой XML: http://www.w3.org/TR/html4/sgml/entities.html

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