Ensure we use UTF-8 for the emitted QLocaleXML data file
Python helpfully uses a sensible locale when stdout is a tty but uses the system (not the filesystem) default encoding, which may be ascii and unable to encode some of the data we need to save. So brute force kludge it to ensure sys.stdout.encoding is UTF-8 when writing the output we'll read as UTF-8 anyway. Task-number: QTBUG-79902 Change-Id: I218dc0ec4c71a6b1b7181db55b018266d803bc58 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
This commit is contained in:
parent
4cbadf6998
commit
0ef79d94f6
@ -2,7 +2,7 @@
|
||||
# coding=utf8
|
||||
#############################################################################
|
||||
##
|
||||
## Copyright (C) 2018 The Qt Company Ltd.
|
||||
## Copyright (C) 2020 The Qt Company Ltd.
|
||||
## Contact: https://www.qt.io/licensing/
|
||||
##
|
||||
## This file is part of the test suite of the Qt Toolkit.
|
||||
@ -582,6 +582,10 @@ for line in ldml:
|
||||
if 'version cldrVersion CDATA #FIXED' in line:
|
||||
cldr_version = line.split('"')[1]
|
||||
|
||||
if sys.stdout.encoding != 'UTF-8' or (sys.stdout.encoding is None and sys.getdefaultencoding() != 'UTF-8'):
|
||||
reload(sys) # Weirdly, this gets a richer sys module than the plain import got us !
|
||||
sys.setdefaultencoding('UTF-8')
|
||||
|
||||
print "<localeDatabase>"
|
||||
print " <version>" + cldr_version + "</version>"
|
||||
print " <languageList>"
|
||||
|
Loading…
x
Reference in New Issue
Block a user