Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 尝试将Django模型转换为XML时出现Unicode错误_Python_Xml_Django_Encoding_Django Models - Fatal编程技术网

Python 尝试将Django模型转换为XML时出现Unicode错误

Python 尝试将Django模型转换为XML时出现Unicode错误,python,xml,django,encoding,django-models,Python,Xml,Django,Encoding,Django Models,我发现了一个python程序:它将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) Unico

我发现了一个python程序:它将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) 
回溯(最近一次呼叫最后一次):
文件“xml_export.py”,第71行,在
writer.content(值)
文件“xml_export.py”,第41行,内容
self.output+=str(文本)
UnicodeEncodeError:“ascii”编解码器无法对位置3中的字符u'\xe9'进行编码:
序号不在范围内(128)

看起来变量
文本
包含非ASCII字符串

见:

或者,如果(如注释所示)
text
可能包含字符串以外的其他变量类型,请使用

self.output += unicode(mystring).encode("utf-8")

看起来您的变量
text
包含非ASCII字符串

见:

或者,如果(如注释所示)
text
可能包含字符串以外的其他变量类型,请使用

self.output += unicode(mystring).encode("utf-8")

您是否尝试使用内置命令:

./manage.py dumpdata --format xml

您在
u'eleève'
中使用unicode的方式还可以,因此这应该可以工作(normalement…。

您是否尝试使用内置命令:

./manage.py dumpdata --format xml

您在
u'eleève'
中使用unicode的方式是可以的,因此这应该可以正常工作。

认真地说,不要使用链接代码。这很糟糕,而且似乎是由一个完全不了解unicode、字符编码甚至不知道如何构建XML文档的人编写的。弦凹?真的吗


不要使用它。

说真的,不要使用链接代码。这很糟糕,而且似乎是由一个完全不了解unicode、字符编码甚至不知道如何构建XML文档的人编写的。弦凹?真的吗


不要使用它。

如果我这样做,我会得到:Traceback(最近一次调用最后一次):writer.content(value)文件“xml_export.py”第71行,content self.output+=str(text.encode(“utf-8”))AttributeError:“int”对象没有奇怪的属性“encode”。这意味着
text
包含一个整数变量。这反过来又使得人们很难理解为什么在
text
中会有一个
ee
,除非该变量正在改变它的类型(这在Python中是合法的),但这使得这种情况更加困难。您需要提供更多信息-
text
来自哪里?你在用它做什么?文本数据来自数据库的字段,因此字段的值也可以包含数字。我尝试了unicode(文本)。这解决了content方法中的问题,但是在fp.write(self.output)行的save方法中还有另一个错误。我得到的错误是:Traceback(最近一次调用):writer.save(“export.xml”)中的文件“xml_export.py”,第77行,save fp.write(self.output)UnicodeCodeer中的文件“xml_export.py”,第48行,save fp.write(self.output)UnicodeCodeerError:“ascii”编解码器无法对404位置的字符u'\xe9'进行编码:序号不在范围内(128),如果我这样做,我得到:Traceback(最后一次调用):writer.content(value)文件“xml_export.py”第71行的文件“xml_export.py”,第41行的content self.output+=str(text.encode(“utf-8”))AttributeError:'int'对象没有奇怪的属性'encode'。这意味着
text
包含一个整数变量。这反过来就很难弄清楚
text
中为什么会有
e
,除非该变量正在改变其类型(这在Python中是合法的)但这会使这种情况更加困难。您需要提供更多信息-文本从何而来?您在用它做什么?文本数据来自数据库的字段,因此字段的值也可以包含数字。我尝试了unicode(文本)。这解决了内容方法中的问题,但随后我在fp.write(self.output)行的save方法中出现了另一个错误。我得到的错误是:回溯(最近一次调用):文件“xml_export.py”,第77行,在writer.save(“export.xml”)文件“xml_export.py”,第48行,在save fp.write(self.output)中UnicodeEncodeError:“ascii”编解码器无法对404位置的字符u'\xe9'进行编码:序号不在范围(128)内。我认为此命令与django.core import serializers data=serializers.serialize(“xml”,SomeModel.objects.all())中的命令执行的操作相同.I需要这个问题的格式BenAlors t'as qu'a Usage la réponse!si tu déclare bien ton xml avec un encodage utf-8 aué但是,aucun souci!我认为此命令与django.core import serializers data=serializer.serialize(“xml”,SomeModel.objects.all()中的格式相同).我需要这个问题的格式ben alors t'as qu'áuser la réponse!这是一个xml文档,包含utf-8 au dé但是,aucun souci!