1

我有一个脚本可以读取 XML 文件并将其写入数据库。
当我通过浏览器运行它(通过视图调用它)它工作正常,但是
当我为它创建一个命令时(./manage.py importxmlfile)我收到以下消息:

UnicodeEncodeError:'ascii' 编解码器无法在位置 6 编码字符 u'\xfc':序数不在范围内(128)

我不确定为什么它只会在通过命令行调用导入时发生..有什么想法吗?

更新
我正在尝试将lxml.etree._ElementUnicodeResult对象转换为字符串并使用str(result).
这仅在命令行上产生上述错误。

4

1 回答 1

1

啊,不要用str(result)

相反,请执行以下操作:

result.encode('utf-8')

当您调用时str(result),python 将使用默认的系统编码(通常是 ascii)来尝试对result. 如果ordinal not in range(128). 与其使用 ascii 编解码器,不如.encode()告诉 python 使用哪个编解码器。

查看Python Unicode HowTo了解更多信息。您可能还想查看此相关问题或有关该主题的出色演示

于 2013-06-09T18:52:20.990 回答