我想要得到一個unicode版本的calendar.month_abbr[6]
。如果我沒有指定區域設置的編碼,我不知道如何將字符串轉換爲unicode。下面的示例代碼顯示我的問題:如何在Python中獲取unicode月份名稱?
>>> import locale
>>> import calendar
>>> locale.setlocale(locale.LC_ALL, ("ru_RU"))
'ru_RU'
>>> print repr(calendar.month_abbr[6])
'\xb8\xee\xdd'
>>> print repr(calendar.month_abbr[6].decode("utf8"))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.5/encodings/utf_8.py", line 16, in decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xb8 in position 0: unexpected code byte
>>> locale.setlocale(locale.LC_ALL, ("ru_RU", "utf8"))
'ru_RU.UTF8'
>>> print repr(calendar.month_abbr[6])
'\xd0\x98\xd1\x8e\xd0\xbd'
>>> print repr(calendar.month_abbr[6].decode("utf8"))
u'\u0418\u044e\u043d'
任何想法如何解決這個問題?該解決方案不必看起來像這樣。任何解決方案,給我在unicode縮寫月份名稱是好的。
如果Unicode轉換成功,我應該還是能夠做到就可以了再版。所以這不應該是問題。感謝您的鏈接。我會檢查出來。 – 2009-11-30 19:06:51
'locale.getlocale()'工作。謝謝。 – 2009-12-01 18:57:55