--- 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