summaryrefslogtreecommitdiff
path: root/cliff/app.py
diff options
context:
space:
mode:
Diffstat (limited to 'cliff/app.py')
-rw-r--r--cliff/app.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/cliff/app.py b/cliff/app.py
index 261c5cc..5cbd195 100644
--- a/cliff/app.py
+++ b/cliff/app.py
@@ -61,6 +61,7 @@ class App(object):
LOG_FILE_MESSAGE_FORMAT = \
'[%(asctime)s] %(levelname)-8s %(name)s %(message)s'
DEFAULT_VERBOSE_LEVEL = 1
+ DEFAULT_OUTPUT_ENCODING = 'utf-8'
def __init__(self, description, version, command_manager,
stdin=None, stdout=None, stderr=None,
@@ -85,7 +86,10 @@ class App(object):
# works around a problem with Python 2.6 fixed in 2.7 and
# later (http://hg.python.org/cpython/rev/e60ef17561dc/).
lang, encoding = locale.getdefaultlocale()
- encoding = getattr(sys.stdout, 'encoding', None) or encoding
+ encoding = (getattr(sys.stdout, 'encoding', None)
+ or encoding
+ or self.DEFAULT_OUTPUT_ENCODING
+ )
self.stdin = stdin or codecs.getreader(encoding)(sys.stdin)
self.stdout = stdout or codecs.getwriter(encoding)(sys.stdout)
self.stderr = stderr or codecs.getwriter(encoding)(sys.stderr)