Задача Ant заменяет поврежденные символы в файле UTF-8 - PullRequest
1 голос
/ 14 ноября 2011

У меня есть следующая задача муравья:

<target name="test">
    <replace file="test.txt" token="smth" value="anything"/>        
</target>

test.txt в кодировке UTF-8.Проблема в том, что когда я запускаю эту задачу
, она повреждает некоторые символы UTF-8 (только некоторые из них, но не все).
Я пытался использовать ant -Dfile.encoding=UTF-8 -buildfile=build.xml,
и указывал build.xmlкодировка <?xml version="1.0" encoding="UTF-8">,
, но проблема остается.

Как мне правильно настроить задачу Ant для файлов в кодировке UTF?

1 Ответ

8 голосов
/ 14 ноября 2011

Из документов для задачи замены , в списке атрибутов:

Атрибут: encoding
Описание: действует кодировка файлов, для которых выполняется замена.
По умолчанию: Нет - по умолчанию используется кодировка JVM по умолчанию

Таким образом, используется кодировка платформы по умолчанию.Если вы хотите, чтобы он использовал UTF-8, просто измените свой вызов на:

    <replace file="test.txt" token="smth" value="anything" 
             encoding="UTF-8" />        
...