Python 尝试添加ascii文本

Python 尝试添加ascii文本,python,django,Python,Django,有一个包含数据的csv文件。请仔细分析 file_reader = csv.reader(f, delimiter=';') for row in file_reader: data = UserDataCsv() data.user = files.user data.file_hash = request.FILES['file'] data.file = UserFiles.objects.get(id

有一个包含数据的csv文件。请仔细分析

        file_reader = csv.reader(f, delimiter=';')
    for row in file_reader:
        data = UserDataCsv()
        data.user = files.user
        data.file_hash = request.FILES['file']
        data.file = UserFiles.objects.get(id=file_id)

        print(row[0])


        data.material = row[0]
但当我尝试添加新行时出错

第42行,在内部 响应=获取响应(请求) 文件“C:\Python27\lib\site packages\django\core\handlers\base.py”,第187行,在\u get\u响应中 response=self.process\u异常\u由\u中间件(e,请求) 文件“C:\Python27\lib\site packages\django\core\handlers\base.py”,第185行,在\u get\u响应中 响应=包装的回调(请求,*回调参数,**回调参数) 上传文件第112行的文件“D:\PythoProjecs\csv\u files\users\user\u functions.py” data.save() 文件“C:\Python27\lib\site packages\django\db\models\base.py”,第796行,保存 强制更新=强制更新,更新字段=更新字段) 文件“C:\Python27\lib\site packages\django\db\models\base.py”,第824行,在save\u base中 更新=自我。保存表格(原始、cls、强制插入、强制更新、使用、更新字段) 文件“C:\Python27\lib\site packages\django\db\models\base.py”,第908行,在保存表中 结果=self.\u do\u insert(cls.\u base\u manager,using,fields,update\u pk,raw) 文件“C:\Python27\lib\site packages\django\db\models\base.py”,第947行,插入 使用=使用,原始=原始) 文件“C:\Python27\lib\site packages\django\db\models\manager.py”,第85行,在manager\u方法中 返回getattr(self.get_queryset(),name)(*args,**kwargs) 文件“C:\Python27\lib\site packages\django\db\models\query.py”,第1045行,插入 return query.get\u编译器(using=using).execute\u sql(return\u id) 文件“C:\Python27\lib\site packages\django\db\models\sql\compiler.py”,第行 1054,在execute_sql中 cursor.execute(sql,params) 文件“C:\Python27\lib\site packages\django\db\backends\utils.py”,执行中的第79行 返回super(CursorDebugWrapper,self).execute(sql,params) 文件“C:\Python27\lib\site packages\django\db\backends\utils.py”,执行中的第64行 返回self.cursor.execute(sql,params) 文件“C:\Python27\lib\site packages\django\db\utils.py”,第94行,在退出中 6.重新播放(dj_exc_类型、dj_exc_值、回溯) 文件“C:\Python27\lib\site packages\django\db\backends\utils.py”,执行中的第64行 返回self.cursor.execute(sql,params) 文件“C:\Python27\lib\site packages\django\db\backends\mysql\base.py”,第行 110,执行中 返回self.cursor.execute(查询,参数) 文件“C:\Python27\lib\site packages\MySQLdb\cursors.py”,第205行,在execute中 errorhandler(self、exc、value) 文件“C:\Python27\lib\site packages\MySQLdb\connections.py”,第36行,在defaulterrorhandler raise errorclass中, errorvalueOperationalError:(1366,“不正确的字符串值: 第1行“材料”栏的“\xC4\xD1\xCF””[2017年6月30日 16:34:32]“POST/upload_file/HTTP/1.1”500 17454


我如何解决这个问题?

您是否正在尝试通过django ORM向DB添加一行?你能给我们看一下请求吗?表的字符集是什么?检查这个答案users\u userdatacsv InnoDB utf8\u general\u ci 48do
e=row[0]。解码(“utf-8”)在解码返回编解码器中打印(e)
。utf\u 8\u解码(输入,错误,真)UnicodeDecodeError:“utf8”编解码器无法解码位置0处的字节0xc4:无效的继续字节[30/Jun/2017 17:19:49]“发布/上传文件/HTTP/1.1”500 15507
Internal Server Error: /upload_file/
Traceback (most recent call last):
File "C:\Python27\lib\site-packages\django\core\handlers\exception.py",