Opened 5 years ago
Closed 5 years ago
#626 closed defect (invalid)
Standalone installer for QGIS 3.12 incorrectly displays the release name as Bucure?ti
Reported by: | andreaerdna | Owned by: | |
---|---|---|---|
Priority: | minor | Component: | Installer |
Version: | Keywords: | ||
Cc: |
Description
Standalone installer for QGIS 3.12 'București' incorrectly displays the release name as Bucure?ti instead of București, at least on Windows 10 64 bit localised in Italian.
The same doesn't occur with the standalone installer for QGIS 3.10 'A Coruña'.
This is probably caused by the fact that while the ñ char (U+00F1 Latin Small Letter N with tilde) is mapped in the Latin-1 Supplement and Windows-1252 codepage, whereas the ș char (U+0219 Latin Small Letter S with Comma Below) is not.
Moreover, the standalone installer for QGIS 3.12 incorrectly sets the following Values in the Windows Registry:
VersionName = "Bucure?ti" in HKLM\SOFTWARE\QGIS 3.12 DisplayName = "QGIS 3.12.0 'Bucure?ti'" in HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\QGIS 3.12
I have done some tests, and it seems that it is possible to solve the problem in the following way (building the installer on Windows):
1.
- use NSIS version 2.50.0-Unicode (https://github.com/jimpark/unsis/releases)
or
- use NSIS version 3.05 and add the option Unicode true in QGIS-Installer.nsi
2. and in the creatensis.pl perl script, use the modules Win32::Unicode::Process and Encode qw(decode) and change the system calls to makensis as:
$cmd = decode( "UTF-8", "makensis -DINNER=1 -DUNINSTALLERDEST='$instdest' -DINSTALLER_NAME='makeuinst.exe' $args" ); systemW($cmd);
$cmd = decode( "UTF-8", "makensis -DINSTALLER_NAME=$installerbase.exe $args" ); systemW($cmd);
Previously reported on GitHub https://github.com/qgis/QGIS/issues/35453
upstream issue.