Работа с файлами utf-8 в Eclipse - PullRequest
28 голосов
/ 25 мая 2010

Довольно прямой вопрос. Есть ли способ настроить Eclipse для работы с текстовыми файлами, закодированными с utf-8 с и без спецификации?

До сих пор я использовал eclipse с кодировкой utf-8, и она работает, но когда я пытаюсь редактировать файл, созданный другим редактором, который включает в себя спецификацию, Eclipse не обрабатывает его должным образом, он показывает невидимый символ 'в начале файла (спецификации). Есть ли способ заставить Eclipse понимать файлы в кодировке utf-8 с помощью спецификации?

1 Ответ

18 голосов
/ 25 мая 2010

Обе ошибка 78455 («Предоставить возможность принудительной записи спецификации в файлы UTF-8») и ошибка 136854 не оставляет особой надежды на такую ​​возможность.

Поддержка кодирования в рабочей области основана на том, что доступно из Java .
Для любого данного ресурса в рабочей области можно получить строку кодировки, которую можно использовать с любыми API-интерфейсами Java, которые принимают строки кодировки.
Примеры:

  • 'US-ASCII',
  • 'UTF-8',
  • 'Cp1252',
  • 'UTF-16' (Big Endian, спецификация вставлена ​​автоматически),
  • 'UTF-16BE' (Big Endian, спецификация не вставляется автоматически),
  • 'UTF-16LE' (Little Endian, спецификация не вставляется автоматически).

Для кодировок Java, за исключением кодировки 'UTF-16', спецификации не вставляются (при записи) и не удаляются (при чтении) бесплатно .
Даже если это озадачивает конечных пользователей, именно так работают все Java-приложения.
Если приложения хотят поддерживать создание файлов UTF-8 с спецификациями, чтобы соответствовать ожиданиям своих пользователей, им необходимо предоставить такую ​​возможность самостоятельно (поскольку ни Java, ни модель ресурсов не помогут с этим).
Eclipse обеспечивает некоторые улучшения в обнаружении спецификаций, но не в создании или пропуске их.

...