diff --git a/hg b/hg --- a/hg +++ b/hg @@ -14,7 +14,7 @@ if os.environ.get('HGUNICODEPEDANTRY', False): try: reload(sys) - sys.setdefaultencoding("undefined") + sys.setdefaultencoding("utf8") except NameError: pass diff --git a/hgext/pager.py b/hgext/pager.py --- a/hgext/pager.py +++ b/hgext/pager.py @@ -23,6 +23,8 @@ ''' from __future__ import absolute_import +import sys + from mercurial import ( cmdutil, commands, @@ -31,6 +33,10 @@ registrar, ) +reload(sys) +sys.setdefaultencoding('utf8') + + # Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should # be specifying the version(s) of Mercurial they are tested with, or diff --git a/hgext/phabricator.py b/hgext/phabricator.py --- a/hgext/phabricator.py +++ b/hgext/phabricator.py @@ -41,6 +41,7 @@ from __future__ import absolute_import +import sys import contextlib import itertools import json @@ -72,6 +73,9 @@ procutil, stringutil, ) +reload(sys) +sys.setdefaultencoding('utf8') + # Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should diff --git a/mercurial/dispatch.py b/mercurial/dispatch.py --- a/mercurial/dispatch.py +++ b/mercurial/dispatch.py @@ -18,6 +18,9 @@ import time import traceback +reload(sys) +sys.setdefaultencoding('utf8') + from .i18n import _ diff --git a/mercurial/scmutil.py b/mercurial/scmutil.py --- a/mercurial/scmutil.py +++ b/mercurial/scmutil.py @@ -45,6 +45,11 @@ vfs, ) +import sys +reload(sys) +sys.setdefaultencoding('utf8') + + from .utils import ( procutil, stringutil, diff --git a/mercurial/util.py b/mercurial/util.py --- a/mercurial/util.py +++ b/mercurial/util.py @@ -54,6 +54,9 @@ stringutil, ) +reload(sys) +sys.setdefaultencoding('utf8') + base85 = policy.importmod(r'base85') osutil = policy.importmod(r'osutil') parsers = policy.importmod(r'parsers')