我正在尝试将 CSV 字符串导入到我在 django 中的模型中,但它一直在抛出
'ascii' codec can't encode character u'\xe9' in position 29: ordinal not in range(128)
这是我当前的视图代码。
def saveLoot(request):
if 'q' in request.POST:
scsv = request.POST['q']
f = StringIO.StringIO(scsv)
reader = csv.reader(f, delimiter=',')
for row in reader:
user = UserProfile.objects.get(character=row[3])
loot = Loot(loot_id=row[0], item_name=row[1], source=row[2], winner=user, loot_type=row[4], lockout_tier=row[5], time=row[6], date=row[7])
loot.save()
message = "I like pie, it's good, and guess what. I've saved that for you."
else:
message = 'Fill the damn box in will you.'
return HttpResponse(message)
似乎我试图从 UserProfile 模型中提取用户的地方,带有重音符号的字符没有正确编码,从而导致了这个错误。
我知道这可能是非常基本的东西,我已经尝试设置默认编码,距离我上次查看 python 已经有一段时间了(近 12 个月)。