Как предотвратить ant build изменение национальных символов при замене символов в xml

#java #android #ant

#java #Android #ant

Вопрос:

Проблема, с которой я сталкиваюсь, заключается в том, что всякий раз, когда я пытаюсь создать свое приложение с помощью Ant, мне нужно изменить некоторые значения в strings.xml . Значение, которое я анализирую через replacefilter , — это некоторые национальные символы Швеции. Но они меняются после завершения buid.

В build.xml Я пишу :

 <replace file="resvaluesstrings.xml">
<replacefilter token="@APP_NAME@" value="${application.name}" />
  

в файле свойств: ånimal

в strings.xml значение <string name="app_name">@APP_NAME@</string> изменяется на <string name="app_name">Ã¥nimal</string>

Я пытался использовать utf-8 и ISO-8859-1 в обоих моих build.xml и strings.xml Кто-нибудь получил какие-либо ответы? Пожалуйста, помогите.

Ответ №1:

Проблема не в <replace> задаче, а в <property file="..."/> . Здесь значение сначала переводится неправильно.

Вместо этого используйте следующее:

 <loadproperties srcFile="application.properties" encoding="utf-8"/>
  

Комментарии:

1. спасибо, но проблема была решена. На самом деле в build кодировка должна быть ISO-8859-1, а в строках utf-8, чтобы анализатор xml давал возможность выполнить правильный перевод.

2. Ранее у меня был ISO-8859-1 в обоих build.xml и strings.xml . В любом случае, благодаря Synesso, я не знал, что файл свойств также может принимать кодировку таким образом