[Python-Dev] Logging, Unicode and sockets (original) (raw)

Vinay Sajip vinay_sajip at yahoo.co.uk
Thu Oct 8 08:11:23 CEST 2009


Thanks to

http://bugs.python.org/issue7077

I've noticed that the socket-based logging handlers - SocketHandler, DatagramHandler and SysLogHandler - aren't Unicode-aware and can break in the presence of Unicode messages. I'd like to fix this by giving these handlers an optional (encoding=None) parameter in their init, and then using this to encode on output. If no encoding is specified, is it best to use locale.getpreferredencoding(), sys.getdefaultencoding(), sys.getfilesystemencoding(), 'utf-8' or something else? On my system:

sys.getdefaultencoding() 'ascii' sys.getfilesystemencoding() 'mbcs' locale.getpreferredencoding() 'cp1252'

which suggests to me that the locale.getpreferredencoding() should be the default. However, as I'm not a Unicode maven, any suggestions would be welcome.

Regards,

Vinay Sajip



More information about the Python-Dev mailing list