[Development] QtCS2019 Notes: QtCore

Thiago Macieira thiago.macieira at intel.com
Fri Nov 22 15:11:12 CET 2019


On Thursday, 21 November 2019 19:48:03 CET Giuseppe D'Angelo via Development 
wrote:
> Written here:
> > https://wiki.qt.io/Qt_Contributor_Summit_2019_-_QtCore
> 
> Thanks,
Thanks Peppe

* What does Qt assume on locale on UNIX systems?
** What happens if you haven't set anything?
*** Thiago: assume it is C.UTF-8
*** Peppe: crash/warning
** What happens if you have set an encoding we would support (via QtTextCodecs 
or whatever), but not UTF-8?
*** Warning and override with UTF-8
** Special case: C (that we would support anyhow), but not C.UTF-8?
*** Thiago: assume it is C.UTF-8
*** Warning? 7 bit is perfectly compatible
** What happens if you have set an encoding we do NOT support?
*** Andre: override the user; assume it is UTF-8
**** Peppe: at a minimum: every time we override, print a warning!
** What happens to child processes?
*** No -- there was a warning for the user

Implementation: https://codereview.qt-project.org/c/qt/qtbase/+/282359
Wordsmithing accepted, but please propose full sentences.

I tested like this:

$ bin/uic --version
uic 5.14.0
$ LC_ALL=C.UTF-8 bin/uic --version
uic 5.14.0
$ env -i LANG=en_US LC_CTYPE=C.UTF-8 bin/uic --version
uic 5.14.0
$ env -i LANG=uz_UZ at cyrillic bin/uic --version
uic 5.14.0

$ env -i bin/uic --version
Detected system locale encoding (ANSI_X3.4-1968, locale "C") is not UTF-8
Your environment is probably mis-configured. See locale(1) manual for
more information. Qt will continue as UTF-8 ("C.UTF-8").
uic 5.14.0
$ env -i LC_ALL=C bin/uic --version
Detected system locale encoding (ANSI_X3.4-1968, locale "C") is not UTF-8
Your environment is probably mis-configured. See locale(1) manual for
more information. Qt will continue as UTF-8 ("C.UTF-8").
uic 5.14.0
$ env -i LANG=de_DE bin/uic --version
Detected system locale encoding (ISO-8859-1, locale "de_DE") is not UTF-8
Your environment is probably mis-configured. See locale(1) manual for
more information. Qt will continue as UTF-8 ("de_DE.UTF-8").
uic 5.14.0
$ env -i LANG=sv_FI at euro bin/uic --version
Detected system locale encoding (ISO-8859-15, locale "sv_FI at euro") is not 
UTF-8
Your environment is probably mis-configured. See locale(1) manual for
more information. Qt will continue as UTF-8 ("sv_FI.UTF-8").
uic 5.14.0
$ env -i LANG=foobar bin/uic --version
Detected system locale encoding (ANSI_X3.4-1968, locale "") is not UTF-8
Your environment is probably mis-configured. See locale(1) manual for
more information. Qt will continue as UTF-8 ("C.UTF-8").
uic 5.14.0

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel System Software Products





More information about the Development mailing list