Ned Deily <n...@acm.org> added the comment: Note, you can produce the same error on OS X or linux by setting PYTHONIOENCODING="", which effectively overrides the value returned nl_langinfo(CODESET). In pythonrun.c, create_stdio passes PYTHONENCODING, if set, on as the "encoding" value to TextIOWrapper. If no encoding was specified, TextIOWrapper uses the value returned by locale.getpreferrencoding(). It then calls PyCodec_IncrementalDecoder and the unknown (or empty) encoding is finally detected.
That raises the question of how far python should go in protecting the user. One *could* add a check in pythonrun.c to substitute some suitable default (UTF-8) if nl_langinfo(CODESET) returns an empty value. Or perhaps just abort there with a more meaningful error message. ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue6393> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com