我有一个问题,读一个txt文件中的MySQL数据库表中插入,TE狙击这个代码:急性拉丁字母:DjangoUnicodeDecodeError
文件包含在第一行:“aclaración”
archivo = open('file.txt',"r")
for line in archivo.readlines():
....body = body + line
model = MyModel(body=body)
model.save()
我得到一个DjangoUnicodeDecodeError:在8位
“UTF-8”编解码器不能解码字节:无效数据。您已通过'aclaraci \ xf3n'(类型'str') Unicode错误提示
无法编码/解码的字符串是:araci n。
我试图body.decode('utf-8'),body.decode('latin-1'),body.decode('iso-8859-1')没有解决方案。
你能帮助我吗?任何提示都是合理的:)
感谢亚历克斯,回答你的问题,在这里:> manage.py壳 的Python 2.5.4(InteractiveConsole) >>> A = 'A' >>>一个 '\ XA0' >>>一个。解码('iso-8859-1')。encode('utf-8') '\ xc2 \ xa0' >>> test = unicode(a) 回溯(最近一次调用最后一次): 文件“”第1行,在 UnicodeDecodeError错误:“ASCII”编解码器不能在位置0解码字节0XA0:顺序不在范围内(128) –
panchicore
2009-08-31 18:57:40
在'试验= unicode的(一)'你隐含使用ASCII编解码器,如错误信息很清楚地告诉你,所以当然失败了。如果你知道在ISO-8859-1中编码的a,使用'unicode(a,'iso-8859-1')'。如果您分配了编码/解码序列另一个变量的结果,说B,'的Unicode(B,“utf-8”)'然后会工作。等等,也许你只是调用编码和解码这种方式,而不是分配,然后使用他们的结果......?!记住字符串是不变的,所以方法调用不改变他们:他们返回结果(分配和使用它们 - !)。 – 2009-08-31 19:05:03