在我的Django应用程序中,我正在读取一个文本文件并将其作为LongText字段上传到mysql数据库中。我的数据库支持UTF-8编码,但是我收到以下错误:
异常类型:/ upload上的警告异常值:字符串不正确 值:'\ xE0 \ xB9 \ x82 \ xE0 \ xB8 \ xA3 ...'用于第1行的“text”列
将它转换为python中的unicode的代码在这里:
fileobj = self.request.FILES.get('filepath', None)
filetext = unicode(fileobj.read(), 'utf-8')
uploadedText = models.UploadedText()
uploadedText.text = filetext uploadedText.save()
答案 0 :(得分:1)
确保已将数据库排序规则设置为utf8_general_ci,并且您的UploadedText模型如下所示:
class UploadedText(models.Model):
text = models.CharField(max_length=500)
然后试试这段代码:
fileobj = self.request.FILES.get('filepath', None)
filetext = fileobj.read()
uploadedText = models.UploadedText()
uploadedText.text = filetext
uploadedText.save()
如果文件内容已经是unicode,则无需将文件内容显式转换为unicode 。还要测试此代码以查找仅包含ascii内容的文件,以查看是否获得了所需的响应。
希望这会有所帮助。如果您遇到任何进一步的错误,请发布它们。 干杯