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

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

mois d'impression [2] échoue avecpython: travailler avec tréma allemand

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

aide pour se débarrasser de tout cela!

+3

fonctionne parfaitement dans mon interpréteur python2. Probablement un échec de codage du fichier, avez-vous ajouté '# - * - coding: utf-8 - * -' en haut du fichier? – naeg

Répondre

31

Avez-vous ajouté un encodage au début de votre fichier source?

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

Etes-vous sûr de travailler en UTF8?

Néanmoins, je recommande de définir

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] 

et si vous faites des trucs basant sur des octets, vous encode() les données dans le jeu de caractères dont vous avez besoin.