lxml 更改 Unicode 字符

3 投票
1 回答
1535 浏览
提问于 2025-04-15 16:41

我正在使用lxml来读取一个xml文件,并修改一些细节。不过,当我运行这个程序时,我发现即使我只是用lxml读取文件,然后再把它写出来,像下面这样:

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

我发现“Queensrÿche”变成了Queensrÿche。有没有人知道怎么解决这个问题?

1 个回答

7

把你最后一行改成:

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

否则,lxml 会用 ASCII 编码来写 XML,这样它就得把所有非 ASCII 字符进行转义。

撰写回答