我正在通过Django上传文件控件读取CSV文件。'utf8'编解码器无法解码字节0xbd CSV文件1/2字符
我想存储(1/2)到数据库中,但它提供了以下异常:
'utf8' codec can't decode byte 0xbd C.S.V. file 1/2 Char
UnicodeDecodeError at /admin/request_system/customers/upload/
“utf-8”编解码器在45位置不能解码字节0xbd:无效的起始字节
我正在通过Django上传文件控件读取CSV文件。'utf8'编解码器无法解码字节0xbd CSV文件1/2字符
我想存储(1/2)到数据库中,但它提供了以下异常:
'utf8' codec can't decode byte 0xbd C.S.V. file 1/2 Char
UnicodeDecodeError at /admin/request_system/customers/upload/
“utf-8”编解码器在45位置不能解码字节0xbd:无效的起始字节
您正在使用错误的字符集,可能是Windows-1252。它不是Unicode或UTF-8。
s = s.decode('windows-1252')
如果django期待utf8,最简单的就是给它utf8。 – alexis
@alexis,根据错误消息它已经在执行'decode'。我敢打赌,它跳过了,如果它已经给了Unicode。 –
@MarkRansom:网页上传始终是字节流,以获取必须解码的Unicode。您无法从网络请求接收Unicode。或者你声称UTF8是Unicode的;它是一种编码,而不是标准或Python unicode值。 –
你能告诉我们Django视图的代码吗?你如何阅读CSV文件? –
你确定它是utf-8编码吗? –
张开(Customer.get_temp_file_name(), 'R')为DATA_FILE: 读者= MyFileReader(_file = DATA_FILE) DEF __init __(个体,_file =无): 如果_file: self.DATA_FILE = CSV。 DictReader(_file) – Clayton