--- /usr/lib/python2.5/doctest.py 2009-02-17 22:42:48.000000000 +0100 +++ /tmp/doctest.py 2009-06-30 16:44:02.000000000 +0200 @@ -98,6 +98,7 @@ import sys, traceback, inspect, linecache, os, re import unittest, difflib, pdb, tempfile import warnings +import locale from StringIO import StringIO # There are 4 basic classes: @@ -1339,7 +1340,11 @@ save_stdout = sys.stdout if out is None: - out = save_stdout.write + output_encoding = (hasattr(sys.stdout, 'encoding') \ + and sys.stdout.encoding) or locale.getpreferredencoding() \ + or 'ascii' + + out = lambda x: save_stdout.write(x.encode(output_encoding)) sys.stdout = self._fakeout # Patch pdb.set_trace to restore sys.stdout during interactive