2011-08-31 64 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()数据到你所需要的字符集。