In researching a solution, I believe locale.getpreferredencoding() might be a better choice (than locale.getdefaultlocale()[ 1 ]) for determining a system's default encoding?
In other words change: >>> codePage = locale.getdefaultlocale()[ 1 ] To this: >>> codePage = locale.getpreferredencoding() ... in my original post's code (original post follows my signature). Malcolm ----- Original message ----- From: pyt...@bdurham.com To: python-list@python.org Date: Mon, 17 May 2010 13:54:27 -0400 Subject: Converting datetime.ctime() values to Unicode I would like to convert datetime.ctime() values to Unicode. Using Python 2.6.4 running under Windows I can set my locale to Spanish like below: >>> import locale >>> locale.setlocale(locale.LC_ALL, 'esp' ) Then I can pass %a, %A, %b, and %B to ctime() to get day and month names and abbreviations. >>> import datetime >>> dateValue = datetime.date( 2010, 5, 15 ) >>> dayName = dateValue.strftime( '%A' ) >>> dayName 's\xe1bado' How do I convert the 's\xe1bado' value to Unicode? Specifically what encoding do I use? I'm thinking I might do something like the following, but I'm not sure this is the right approach. >>> codePage = locale.getdefaultlocale()[ 1 ] >>> dayNameUnicode = unicode( dayName, codePage ) >>> dayNameUnicode u's\xe1bado' Feedback appreciated. Regards, Malcolm -- http://mail.python.org/mailman/listinfo/python-list -- http://mail.python.org/mailman/listinfo/python-list