' UTF8'编解码器无法解码字节0xbd CSV文件1/2 Char

时间:2013-10-29 11:41:41

标签: python python-2.7 csv unicode

我正在通过Django上传文件控件读取CSV文件。

我想将½(1/2)存储到数据库中,但它提供以下异常:

  'utf8' codec can't decode byte 0xbd C.S.V. file 1/2 Char
UnicodeDecodeError at /admin/request_system/customers/upload/

'utf8'编解码器无法解码位置45的字节0xbd:无效的起始字节

2 个答案:

答案 0 :(得分:3)

您的CSV文件不是utf8格式,因此解码器会看到无效(即非utf8)字节序列。找出正确的格式和/或将CSV文件重新保存为utf8,然后重新上传。

0xbd是Latin-1中的½字符,所以这很可能是你现在所拥有的。 utf8将其表示为双字节序列\xc2\xbd

答案 1 :(得分:2)

您使用的是错误的字符集,可能是Windows-1252。它不是Unicode或utf-8。

s = s.decode('windows-1252')