2011-08-31 65 views
15
months = ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"] 

print months[2].decode("utf-8") 

打印一個月[2]失敗,蟒蛇:與德國元音工作

UnicodeDecodeError: 'utf8' codec can't decode bytes in position 1-2: invalid data 

幫助擺脫這個!

+3

在我的python2解釋器中完美工作。很可能是文件的編碼失敗,你在文件的頂部添加了'# - * - coding:utf-8 - * - '嗎? – naeg

回答

31

您是否在源文件的開頭添加了編碼?

# -*- coding: utf-8 -*- 
5

您確定您使用的是UTF8嗎?

不過,我會建議定義

months = [u"Januar", u"Februar", u"März", u"April", u"Mai", u"Juni", 
      u"Juli", u"August", u"September", u"Oktober", u"November", u"Dezember"] 

print months[2] 

,如果你做一些東西立足字節,你encode()數據到你所需要的字符集。