Blob Blame History Raw
--- a/behave/model.py
+++ b/behave/model.py
@@ -1203,7 +1203,7 @@ class Step(BasicStatement, Replayable):
             if capture:
                 # -- CAPTURE-ONLY: Non-nested step failures.
                 if runner.config.stdout_capture:
-                    output = runner.stdout_capture.getvalue()
+                    output = runner.stdout_capture.getvalue().encode('utf_8')
                     if output:
                         error += '\nCaptured stdout:\n' + output
                 if runner.config.stderr_capture:
--- a/behave/formatter/pretty.py
+++ b/behave/formatter/pretty.py
@@ -157,7 +157,8 @@ class PrettyFormatter(Formatter):
                 location = self._match.location
             self.print_step(result.status, arguments, location, True)
         if result.error_message:
-            self.stream.write(indent(result.error_message.strip(), u'      '))
+            out = result.error_message.strip().decode('unicode-escape')
+            self.stream.write(indent(out, 6 * u' '))
             self.stream.write('\n\n')
         self.stream.flush()