[issue10329] trace.py and unicode in Python 3

Antoine Pitrou report at bugs.python.org
Fri Nov 5 19:43:10 CET 2010

Antoine Pitrou <pitrou at free.fr> added the comment:

> I would be +0 on adding errors='replace' or 'backshlashreplace' to the 
> open() call in  write_results_file(), but hardcoding encoding="utf-8"
> is definitely not the right thing to do.

Who are the consumers of the trace files? Is there a formal specification or is Python the primary consumer?
If the former, then follow the specification (and/or amend it ;-)).
If the latter, you have the right to be creative; then utf-8 with the sounds like a most reasonable choice (possibly with an error handler such as "ignore" or "replace" to avoid barfing on lone surrogates).

Relying on the default encoding is not really a good idea, though. This is good for quick scripts or in the rare cases where it is by definition the expected behaviour. But in more elaborate cases you certainly want to decide the encoding by yourself.

nosy: +pitrou

Python tracker <report at bugs.python.org>

More information about the Python-bugs-list mailing list