Python: работа с немецким умлаутом - PullRequest
15 голосов
/ 31 августа 2011
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

помогите избавиться от этого!

Ответы [ 2 ]

33 голосов
/ 31 августа 2011

Вы добавили кодировку в начале вашего исходного файла?

# -*- coding: utf-8 -*-
5 голосов
/ 31 августа 2011

Вы уверены, что работаете в 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() получаете данные в кодировку, которая вам нужна.

...