lxml Изменение символов Юникода - PullRequest
3 голосов
/ 04 декабря 2009

Я использую lxml, чтобы прочитать XML-файл и изменить некоторые детали. Однако при запуске я обнаружил, что даже если я просто использую lxml, чтобы прочитать файл, а затем снова записать его, как показано ниже:

fil='iTunes Music Library.XML'
tre=etree.parse(fil)
tre.write('temp.xml')

Я считаю Queensrensche преобразованным в Queensrÿche. Кто-нибудь знает, как это исправить?

1 Ответ

7 голосов
/ 04 декабря 2009

Измените свою последнюю строку на:

tre.write('temp.xml', encoding='utf-8')

В противном случае lxml записывает XML в кодировке ASCII, поэтому он должен экранировать все не-ASCII символы.

...