Нераспознанные специальные символы в Eclipse - PullRequest
2 голосов
/ 12 марта 2012

У меня проблема с кодировкой в ​​Eclipse (Indigo Service Release 1). Вот что происходит:

У меня есть файл свойств (языковой пакет) на немецком языке, и он не отображается правильно, когда я открываю его в Eclipse. Например: gelöscht отображается как gel�scht. Я попытался изменить сопоставление файлов на Text Editor, Properties File Editor, JBoss Tools Properties Editor, но во всех случаях это отображается так.

Интересно то, что когда я открываю файл в Notepad++, он отображается правильно. В Eclipse кодировка текстового файла установлена ​​на UTF-8, а кодировка файла (согласно Notepad++) - ANSI.

Есть ли другая настройка, о которой я не знаю? Как я могу исправить эту проблему, чтобы увидеть правильную кодировку в Eclipse?

Ответы [ 2 ]

5 голосов
/ 12 марта 2012

Как вы читаете файлы свойств? Хранить их в любой кодировке, отличной от ASCII, кроме ISO-8859-1 (кодировка по умолчанию, ожидаемая различными компонентами инфраструктуры) или UTF-8, звучит для меня как плохая идея. Я бы настоятельно рекомендовал бы придерживаться ASCII, ISO-8859-1 или UTF-8.

В наши дни вы можете загрузить Properties с любым Reader, но UTF-8 обычно является наиболее подходящей кодировкой для файлов, которые должны обрабатывать символы не-ASCII и работать на любом компьютере.

Вы можете , вероятно, заставить Eclipse думать об этом как об использовании разностной кодировки, щелкнув правой кнопкой мыши файл, выбрав "Свойства", а затем выбрав "Кодировка текстового файла" в нижней части ресурсов. страница - но я бы посоветовал вам не делать это.

Альтернативой является только использование ASCII с соответствующими \u.... escape-последовательностями, генерируемыми native2ascii.

(Хотя вы можете включать не-ASCII символы ISO-8859-1, лично я бы не стал - это очевидно, когда символы не являются ASCII, но различие между ISO-8859-1 и другими кодировки становится сложнее обнаружить невооруженным глазом.)

0 голосов
/ 12 марта 2012

Текстовые файлы не несут с собой информацию о кодировке, так что то, что вы видите, является лучшим предположением. Notepad ++ просто догадывается, что файл ANSI.

Файл, о котором идет речь, не является UTF8 (или, по крайней мере, не был сохранен таким образом в последний раз, когда кто-то его редактировал). Вам нужно будет сохранить файл как UTF8 или изменить кодировку в Eclipse на что-то вроде CP1252.

Автоматическое распознавание правильного формата на самом деле невозможно.

...