Ответ 1
Кодирование каждого в качестве символа Юникода в xml работает для меня:
<string name="test">100\u0025 foo 40\u0025bar</string>
В < string-array name= "versions" > У меня есть этот зверь записи (сведенный до разумного минимума для воспроизведения эффекта):
<item>100% foo 40%bar</item>
который производит эти ошибки:
Multiple annotations found at this line:
- error: Multiple substitutions specified in non-positional format; did you mean to add the formatted="false" attribute?
- error: Found tag </item> where </string-array> is expected
Добавление formatted = "false" не изменяет ничего.
<item>100% foo 40%bar</item>
приводит к тем же сообщениям об ошибках. WTH?
<item>100% foo 40bar</item>
<item>100 foo 40%bar</item>
<item>100% foo 40%</item>
все будет работать нормально. Экранирование с помощью\%просто игнорируется, что приводит к той же ошибке. %% не приводит к ошибке, но я получаю %%.
Кодирование каждого в качестве символа Юникода в xml работает для меня:
<string name="test">100\u0025 foo 40\u0025bar</string>
%
- зарезервированный символ в XML, например <
, >
и т.д.
Используйте %%
для каждого %
, который вы используете в ресурсе строки.
Использование CDATA может работать.
<item><![CDATA[100% foo 40%]]></item>