我正在通過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