gpt4 book ai didi

python - Django 仅在命令行上出现编码错误

转载 作者:太空宇宙 更新时间:2023-11-03 18:57:10 26 4
gpt4 key购买 nike

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

UnicodeEncodeError: 'ascii' codec can't encode character u'\xfc' in position 6: ordinal not in range(128)

我不确定为什么只有在通过命令行调用导入时才会发生这种情况。有什么想法吗?

更新
我正在尝试将 lxml.etree._ElementUnicodeResult 对象转换为字符串,并使用 str(result) 将其保存在数据库(utf8 排序规则)中。
这仅在命令行上产生上述错误。

最佳答案

啊,不要使用str(result)

相反,这样做:

result.encode('utf-8')

当你调用str(result)时,Python将使用默认的系统编码(通常是ascii)来尝试对result中的字节进行编码。如果序号不在范围(128)内,这将会中断。不使用 ascii 编解码器,只需 .encode() 并告诉 python 使用哪个编解码器。

查看 Python Unicode HowTo了解更多信息。您可能还想查看this related questionthis excellent presentation就这个主题而言。

关于python - Django 仅在命令行上出现编码错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17012719/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com