3

我正在通过 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:无效的起始字节

4

2 回答 2

3

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

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

于 2013-10-29T11:46:14.510 回答
2

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

s = s.decode('windows-1252')
于 2013-10-29T11:46:48.000 回答