2011-10-20 7 views
0

私のDjangoアプリケーションでは、テキストファイルを読み込んでいて、 mysqlデータベース。私のデータベースはUTF-8エンコーディングをサポートしていますが、私は次のエラーを取得する:不正な文字列値: ' xE0 xB9 x82 xE0 xB8 xA3 ...'行1の 'text'列

Exception Type: Warning at /upload Exception Value: Incorrect string value: '\xE0\xB9\x82\xE0\xB8\xA3...' for column 'text' at row 1

Pythonでユニコードに変換コードはここにある:

fileobj = self.request.FILES.get('filepath', None) 
filetext = unicode(fileobj.read(), 'utf-8') 
uploadedText = models.UploadedText() 
uploadedText.text = filetext uploadedText.save() 

答えて

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() 

ファイルの内容をユニコードに明示的に変換する必要はありません。ユニコードの場合は、明示的に変換する必要はありません。また、このコードで、必要な応答が得られたかどうかを確認するために、asciiの内容のみを持つファイルをテストします。

これが役に立ちます。それ以上のエラーが発生した場合は、POSTしてください。 乾杯[

]
関連する問題