Фильтр Maven для искажений специальных символов - PullRequest
5 голосов
/ 11 июня 2010

У меня есть файл ресурсов со следующей строкой, обратите внимание на специальные символы:

Questa funzionalità non è sostenuta: {0} {1}

После того, как Maven выполняет свои ресурсы процесса (которые мне нужны для чего-то еще), я получаю:

Questa funzionalit� non � sostenuta: {0} {1}

Скажите, пожалуйста, есть ли это легко исправить?

1 Ответ

7 голосов
/ 11 июня 2010

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

Таким образом, мои файлы свойств были фактически закодированы как ISO-8859-1. Я изменил кодировку по умолчанию в Eclipse, щелкнув правой кнопкой мыши на файле и выбрав свойства. Затем я был вынужден повторно ввести ВСЕ специальные символы.

Другая часть исправления заключалась в том, чтобы подключить плагин ресурсов процесса Maven к использованию кодировки UTF-8 при обработке ресурсов. Инструкции для этого здесь:

http://maven.apache.org/plugins/maven-resources-plugin/examples/encoding.html

И, конечно, мне пришлось реализовать UTF-8 ResourceBundle.Control, потому что (для обратной совместимости) удаленный ResourceBundle по-прежнему ISO-8859-1. Подробности об этом классе можно найти здесь:

http://www.mail-archive.com/stripes-users@lists.sourceforge.net/msg03972.html

Надеюсь, это когда-нибудь кому-нибудь поможет.

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