[x] Create a light and self-contained sample dataset and project file which demonstrates the issue
The bug
Turkish locale behavior is incorrect on Windows:
Currency symbol shows before the amount, instead of after (at least in the dialog box sample).
Sorting mixes characters with and without diacritics together.
upper()/lower() functions in QGIS are not locale-aware, however, even toUpper()/toLower() from PyQt.QtCore.QLocale class don't produce the expected outcomes:
a. toUpper('i') -> 'I' (instead of 'İ')
b. toLower('I') -> 'i' (instead of 'ı')
See: https://en.wikipedia.org/wiki/Dotted_and_dotless_I
Extract "turkish-uppercase.py" custom Python expression function file from the attached zip into %AppData%\QGIS\QGIS3\profiles\tr\python\expressions.
In QGIS Settings/Options/General, enable "Override system locale", change the Locale to "Turkish Turkey (tr_TR)", and restart QGIS.
Extract the project and the data files from the zip into a folder (the data file is from NaturalEarth, it is a zipped shapefile: keep it as is).
Open the print layout, and run the atlas.
Observe the errors:
a. E.g. all countries starting with "C" should be listed before the counties starting with "Ç".
b. Capitalized version of Israel in Turkish should be "İSRAİL".
Windows: wrong placement of the currency symbol
Ubuntu: correct placement of the currency symbol
Windows: wrong sort order & capitalization
Ubuntu: correct sort order & capitalization
QGIS and OS versions
QGIS version: 3.9.0-Master; code revision: accbb2d7f1
Compiled/Running against Qt: 5.11.2
Compiled/Running against GDAL/OGR: 2.4.1
Compiled/Running against GEOS: 3.7.2-CAPI-1.11.0 b55d2125
PostgreSQL Client Version: 9.2.4; SpatiaLite Version: 4.3.0
QWT Version: 6.1.3; QScintilla2 Version: 2.10.8
Compiled/Running against PROJ: Rel. 5.2.0, September 15th, 2018
OS Version
Windows 10 (10.0)
CPU Type: x86_64
Kernel Version: 10.0.17763
Additional context
This is working as expected under Ubuntu 18.04.
The bug Turkish locale behavior is incorrect on Windows:
How to Reproduce turkish-uppercase.zip
Windows: wrong placement of the currency symbol
Ubuntu: correct placement of the currency symbol
Windows: wrong sort order & capitalization
Ubuntu: correct sort order & capitalization
QGIS and OS versions QGIS version: 3.9.0-Master; code revision: accbb2d7f1 Compiled/Running against Qt: 5.11.2 Compiled/Running against GDAL/OGR: 2.4.1 Compiled/Running against GEOS: 3.7.2-CAPI-1.11.0 b55d2125 PostgreSQL Client Version: 9.2.4; SpatiaLite Version: 4.3.0 QWT Version: 6.1.3; QScintilla2 Version: 2.10.8 Compiled/Running against PROJ: Rel. 5.2.0, September 15th, 2018
OS Version Windows 10 (10.0) CPU Type: x86_64 Kernel Version: 10.0.17763
Additional context This is working as expected under Ubuntu 18.04.