У нас есть действие ModifyTextFile:
<action name="Einstellungen anpassen FR" id="59" customizedId="" beanClass="com.install4j.runtime.beans.actions.text.ModifyTextFileAction" enabled="true" commentSet="true" comment="" actionElevationType="elevated" rollbackBarrier="false" rollbackBarrierExitCode="0" multiExec="false" failureStrategy="1" errorMessage="">
<serializedBean>
<java class="java.beans.XMLDecoder">
<object class="com.install4j.runtime.beans.actions.text.ModifyTextFileAction">
<void property="encoding">
<string />
</void>
<void property="files">
<array class="java.io.File" length="1">
<void index="0">
<object class="java.io.File">
<string>userstrings.txt</string>
</object>
</void>
</array>
</void>
<void property="replaceValue">
<string>22357,30,2, "Paramètres_Silent"</string>
</void>
<void property="searchValue">
<string>22357,30,2, "Paramètres"</string>
</void>
</object>
</java>
</serializedBean>
<condition />
</action>
Проблема в том, что с помощью вышеуказанного действия всегда не удается найти текст, когда в свойстве searchValue есть символ с акцентом, например, 'è'.
Изменение отлично работает со стандартным латинским текстом, сбой только с ударением.
Мы попытались установить несколько значений свойств 'encoding' (1252, CP1252, Windows-1252, ISO 8859-1), но безуспешно.
Файл сам сообщает в notepad ++ как «ANSI», но мы не можем найти точную кодовую страницу. Мы не можем изменить исходную кодовую страницу, поскольку она должна оставаться такой, какой она есть из-за сторонних приложений, которые ее читают.
Кто-нибудь знает, почему замена не может заменить значение, журнал установки показывает следующее:
[INFO] com.install4j.runtime.beans.actions.text.ModifyTextFileAction [ID 59]: Execute action
Property files: [userstrings.txt]
Property replaceValue: 22357,30,2, "Paramètres_Silent"
Property searchValue: 22357,30,2, "Paramètres"
Property escapeForPropertyFile: false
Property failIfNoReplacement: false
Property logReplacement: true
Property rollbackSupported: true
Backing up C:\Program Files\test\userstrings.txt
Execute action successful after 102 ms
Вот файл, который я пытаюсь изменить:
https://www.dropbox.com/s/j1bq070eznzby01/userstrings.txt?dl=0
Install4j версия 7.0.9