Reputation: 1426
We have a script setup to run with Inno Setup Unicode compiler. The installer at the moment supports English, German and French.
It has been brought to our attention that the encoding for our custom messages in French aren't correct. The custom message files are saved as UTF-8 so there should not have been an encoding issue. We verified we were using the Unicode compiler and not ANSI by accident.
Expected Custom message:
French.UninstallOldVersionPrompt=Il semble y avoir une version antérieure de Rubberduck installée sur ce système pour %s.There seems to be a previous version of Rubberduck, qui devra d'abord être désinstallée. Procéder à la désinstallation?
The file is saved as UTF-8, so it shouldn't have had encoding issues. What went wrong?
For more details, you can read up on the Github issue
Upvotes: 7
Views: 2667
Reputation: 202242
The .iss
file needs to have UTF-8 BOM, if it includes Unicode/UTF-8 strings.
In your case, it's the French.CustomMessages.iss
that is missing the BOM.
The German.CustomMessages.iss
has the BOM, that's why it works correctly with German.
See also UTF-8 characters not displaying correctly in Inno Setup.
The BOM requirement is now properly documented:
If an Unicode file is used, it must be UTF-8 encoded with a BOM.
Upvotes: 12