mercurial/i18n.py
changeset 30050 d229be12e256
parent 30035 02328b5d775d
child 30085 2bde971474d2
--- a/mercurial/i18n.py	Sat Oct 01 09:55:32 2016 +0800
+++ b/mercurial/i18n.py	Fri Oct 07 12:13:28 2016 +0200
@@ -12,7 +12,10 @@
 import os
 import sys
 
-from . import encoding
+from . import (
+    encoding,
+    pycompat,
+)
 
 # modelled after templater.templatepath:
 if getattr(sys, 'frozen', None) is not None:
@@ -85,7 +88,8 @@
             # means u.encode(sys.getdefaultencoding()).decode(enc). Since
             # the Python encoding defaults to 'ascii', this fails if the
             # translated string use non-ASCII characters.
-            _msgcache[message] = u.encode(encoding.encoding, "replace")
+            encodingstr = pycompat.sysstr(encoding.encoding)
+            _msgcache[message] = u.encode(encodingstr, "replace")
         except LookupError:
             # An unknown encoding results in a LookupError.
             _msgcache[message] = message