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

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

el mes de impresión [2] falla conpitón: trabajar con diéresis alemán

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

ayuda a deshacerse de este!

+3

funciona perfectamente en mi intérprete de python2. Lo más probable es que falle la codificación del archivo. ¿Agregó '# - * - codificación: utf-8 - * -' en la parte superior del archivo? – naeg

Respuesta

31

¿Agregó una codificación al comienzo de su archivo fuente?

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

¿Estás seguro de que estás trabajando en UTF8?

Sin embargo, yo recomendaría para definir

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] 

y si lo hace un poco de materia basándose en bytes, que encode() los datos en el conjunto de caracteres que necesita.