При вызове "etree.iterparse" попробуйте заполнить значение кодировки:
context = etree.iterparse(StringIO(data), tag='movie', encoding="utf-8")
Из документации itree.iterparse: "" "| Другие аргументы ключевого слова: | - encoding: переопределитькодировка документа | - схема: XMLSchema для проверки по "" "
Еще лучше - забудьте, что:
Я скачал ваш файл и поиграл - кажется, он работает, по крайней мередля первого фильма - может быть, у вас есть плохо закодированные символы в самом файле?Это либо так, либо все в порядке, и беспорядок только в вашем заявлении на печать - попробуйте использовать "print name.encode("utf-8")
" - или правильную кодировку вашего терминала, вместо того, чтобы позволить python попытаться угадать его.