Hello, I am trying to find a good way to portably get the output of strftime() and put it onto a dialog (I'm using PyQt, but it doesn't really matter). The problem is that I need to decode the byte stream returned by strftime () into Unicode.
This old bug: http://mail.python.org/pipermail/python-bugs-list/2003- November/020983.html (last comment) mentions that it is "byte string in the locale's encoding". The comment also suggests to use "mbcs" in Windows (which, AFAIK, it's sort of an "alias" encoding for the current Windows codepage), and to find out the exact encoding using locale.getpreferredencoding(). Thus, I was hoping that something like: strftime("%#c", localtime()).decode(locale.getpreferredencoding()) would work... but alas I was reported this exception: LookupError: unknown encoding: cp932 So: what is the correct code to achieve this? Will something like this work: data = strftime("%#c", localtime()) if os.name == "nt": data = data.decode("mbcs") else: data = dada.decode(locale.getpreferredencoding()) Is this the correct way of doing it? (Yes, it sucks). Shouldn't Python automatically alias whatever is returned by locale.getpreferredencoding() to "mbcs", so that my original code works portably? Thanks in advance! -- Giovanni Bajo -- http://mail.python.org/mailman/listinfo/python-list