summaryrefslogtreecommitdiff
path: root/tools/gyp/pylib/gyp/easy_xml.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/gyp/pylib/gyp/easy_xml.py')
-rw-r--r--tools/gyp/pylib/gyp/easy_xml.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/tools/gyp/pylib/gyp/easy_xml.py b/tools/gyp/pylib/gyp/easy_xml.py
index bf949b6ac9..2522efb244 100644
--- a/tools/gyp/pylib/gyp/easy_xml.py
+++ b/tools/gyp/pylib/gyp/easy_xml.py
@@ -4,6 +4,7 @@
import re
import os
+import locale
def XmlToString(content, encoding='utf-8', pretty=False):
@@ -116,6 +117,10 @@ def WriteXmlIfChanged(content, path, encoding='utf-8', pretty=False,
if win32 and os.linesep != '\r\n':
xml_string = xml_string.replace('\n', '\r\n')
+ default_encoding = locale.getdefaultlocale()[1]
+ if default_encoding and default_encoding.upper() != encoding.upper():
+ xml_string = xml_string.decode(default_encoding).encode(encoding)
+
# Get the old content
try:
f = open(path, 'r')