我认为我采用的方法是正确的,但仍有一个编码错误:
from xml.dom.minidom import Document
import codecs
doc = Document()
wml = doc.createElement("wml")
doc.appendChild(wml)
property = doc.createElement("property")
wml.appendChild(property)
descriptionNode = doc.createElement("description")
property.appendChild(descriptionNode)
descriptionText = doc.createTextNode(description.decode('ISO-8859-1'))
descriptionNode.appendChild(descriptionText)
file = codecs.open('contentFinal.xml', 'w', encoding='ISO-8859-1')
file.write(doc.toprettyxml())
file.close()
description节点在ISO-8859-1 encoding
中包含一些字符,这是由站点自己在meta标记中指定的编码。但当doc.toprettyxml()
开始在文件中写入时,我遇到了以下错误:
为什么我在用相同的标准解码和编码时会出现这个错误?在
已编辑
我的脚本文件中有以下减速:
#!/usr/bin/python
# -*- coding: utf-8 -*-
可能这是矛盾吗?在
好吧,我找到了解决办法。当数据使用其他外国语言时,您只需在xml头中定义正确的编码即可。您不需要在
file.write(doc.toprettyxml(encoding='ISO-8859-1'))
中描述编码,即使是在打开一个要写入file = codecs.open('contentFinal.xml', 'w', encoding='ISO-8859-1')
的文件时也是如此。下面是我使用的技巧。也许这不是一个专业的方法,但对我有用。在可能有一个方法来设置头中的默认编码,但我找不到它。 上述方法不会给浏览器带来任何错误,所有数据都能完美显示。在
相关问题 更多 >
编程相关推荐