【发布时间】:2012-07-18 08:40:51
【问题描述】:
我在 Python 中打开 2 个文件,更改和替换其中的一些内容,并将新输出写入第三个文件。 我的 2 个输入文件是 XML,以“UTF-8 without BOM”编码,其中包含德语 Ä、Ö、Ü 和 ß。 当我在 Notepad++ 中打开我的输出 XML 文件时,没有指定编码(即“编码”选项卡中没有检查编码)。我的 Ä,Ö,Ü 和 ß 变成了类似的东西
ü
当我在 Python 中创建输出时,我使用
with open('file', 'w') as fout:
fout.write(etree.tostring(tree.getroot()).decode('utf-8'))
我应该怎么做?
【问题讨论】:
-
写入文件时,你想
encode,而不是decode。 -
问题是
ü是否不仅是使用 XML 文件时在 ASCII 之外显示字符的 Notepad++ 方式,还是序列是否在输入文件内。见我的评论stackoverflow.com/a/11539528/1346705