Message18893
| Author |
tim_evans |
| Recipients |
| Date |
2003年11月04日.20:49:39 |
| SpamBayes Score |
| Marked as misclassified |
| Message-id |
| In-reply-to |
| Content |
On Windows XP, with some locales the month name
returned by time.strftime('%B') is encoded somehow.
For example:
>>> import time, locale
>>> locale.setlocale(locale.LC_ALL, '')
"Chinese_People's Republic of China.936"
>>> time.strftime('%B')
'\xca\xae\xd2\xbb\xd4\xc2'
>>> time.strftime('%d %B %Y')
'05 \xca\xae\xd2\xbb\xd4\xc2 2003'
>>> locale.setlocale(locale.LC_ALL, '')
'French_France.1252'
>>> time.strftime('%B', (2003,12,1,0,0,0,0,0,0))
'd\xe9cembre'
I'm not sure what encoding the Chinese version is
using, but the French is compatible with latin-1. It
would appear that the encoding used is locale-dependent.
Ideally, the win32 version of time.strftime would call
the wide-character version of strftime (called
wcsftime) and return a unicode object.
I haven't looked at what this does under any other
operating system. |
|
History
|
|---|
| Date |
User |
Action |
Args |
| 2007年08月23日 14:18:06 | admin | link | issue836035 messages |
| 2007年08月23日 14:18:06 | admin | create |
|