[Development] RFC: Defaulting to or enforcing UTF-8 locales on Unix systems
Thiago Macieira
thiago.macieira at intel.com
Mon Nov 4 19:55:03 CET 2019
On Monday, 4 November 2019 10:29:16 PST André Pönitz wrote:
> All but one do not let the UI user change the environment, i.e. the
> environment is passed through the Qt UI process (so far). The one is
> Qt Creator, but even there it is not possible to configure all child
> processes, and would not be tolerable to tell users "When you create a
> new run configuration remember to undo spurious environment changes done
> by Qt".
It's highly unlikely you're running Qt Creator in a non-UTF-8 environment in
the first place. KDE has not supported such locales for 15 years.
If we were in 2004-2006 when this was recent and other Unix environments like
Solaris and HP-UXi where non-UTF-8 could be still in use I could understand
the skepticism.
> <rant>
> There _are_ setups that _are_ set in stone, that are not connected
> to anything and that don't give anything on updates, or do not even
> have the possibility to be "fixed" or changed in any way.
Why are you inserting Qt 6 into them, then?
> int main()
> {
> if (strcmp((setlocale(LC_COLLATE, "")), "C") != 0)
> abort();
> }
>
> Looks contrieved? [Check your hard disk before you answer.]
I'll do a full search on Clear Linux to see if there's any software that
checks the return value of setlocale().
> Potentially harmful behaviour should always be opt-in, not opt-out
> (and never be non-configurable).
I don't disagree on the statement. I just disagree on whether it's harmful.
*Not* calling qputenv could be harmful too.
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel System Software Products
More information about the Development
mailing list