From 419f42903154489e2dace8d1eba183036275448b Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Fri, 22 Nov 2019 14:05:25 +0100 Subject: QCoreApplication: force the process locale codec to UTF-8 As discussed in the mailing list and in the Qt Contributor Summit 2019. Tested on Linux, macOS and FreeBSD, showing these fallbacks: OS environment setlocale() call FreeBSD empty "C.UTF-8" FreeBSD LC_ALL=C "C.UTF-8" Linux empty "C.UTF-8" Linux LC_ALL=C "C.UTF-8" Linux LANG=en_US "en_US.UTF-8" Linux LANG=de_DE@euro "de_DE.UTF-8" Linux LANG=en_GB.iso885915 "en_GB.UTF-8" Linux LANG=hy_AM.armscii8 "hy_AM.UTF-8" Linux LANG=ja_JP.sjis "ja_JP.UTF-8" Linux LANG=ru_RU.koi8r "ru_RU.UTF-8" macOS empty "UTF-8" macOS LC_ALL=C "UTF-8" Versions tested: FreeBSD 12.1, Linux w/ glibc 2.30, macOS 10.14.2. See * https://wiki.qt.io/Qt_Contributor_Summit_2019_-_QtCore * https://lists.qt-project.org/pipermail/development/2019-October/037791.html Change-Id: Ia2aa807ffa8a4c798425fffd15d97ddb4f35b0ae Reviewed-by: Thiago Macieira Reviewed-by: Lars Knoll --- tests/auto/testlib/selftests/tst_selftests.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'tests/auto/testlib/selftests/tst_selftests.cpp') diff --git a/tests/auto/testlib/selftests/tst_selftests.cpp b/tests/auto/testlib/selftests/tst_selftests.cpp index 84090c22ca..53c35dad65 100644 --- a/tests/auto/testlib/selftests/tst_selftests.cpp +++ b/tests/auto/testlib/selftests/tst_selftests.cpp @@ -632,6 +632,11 @@ static QProcessEnvironment processEnvironment() result.insert(QStringLiteral("QT_LOGGING_RULES"), // Must match generate_expected_output.py's main()'s value: QStringLiteral("*.debug=true;qt.*=false")); + +#if defined(Q_OS_UNIX) + // avoid the warning from QCoreApplication + result.insert(QStringLiteral("LC_ALL"), QStringLiteral("en_US.UTF-8")); +#endif } return result; } -- cgit v1.2.3