我找到了一个 python 程序:Export Django database to xml file将 django 模型转换为 xml 表示。我在尝试运行程序时遇到这些错误。我的模型包含一些用法语编写的文本。
Traceback (most recent call last):
File "xml_export.py", line 71, in <module>
writer.content(value)
File "xml_export.py", line 41, in content
self.output += str(text)
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 3:
ordinal not in range(128)
请您参考如下方法:
看起来您的变量 text 包含非 ASCII 字符串。
参见:
>>> mystring = u"élève"
>>> mystring
u'\xe9l\xe8ve'
>>> str(mystring)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 0: ordinal not in range(128)
因此,您首先需要将字符串编码为UTF-8:
>>> str(mystring.encode("utf-8"))
'\xc3\xa9l\xc3\xa8ve'
或者,如果(如注释所示)text 可能包含字符串以外的其他变量类型,请使用
self.output += unicode(mystring).encode("utf-8")
