[英]pickle unicode strings with non-ascii caracters to mysql in django
考慮一下我有一個要使用python的pickle存儲在db中的字典。
我的問題是:我應該使用哪個Django模型的字段?
到目前為止,我一直在使用CharField,但是似乎有一個錯誤:
我腌制一個u'\\ xe9'(即“É”),然后得到:
Incorrect string value: '\xE1, ist...' for column 'edition' at row 1
(之所以加上“ ist ...”,是因為在“É”之后還有更多文字)。
我正在使用
data = dict();
data['foo'] = input_that_has_the_caracter
to_save_in_db = cPickle.dumps(data)
我應該在使用二進制的協議中使用二進制字段和泡菜嗎? 因為我必須更改數據庫才能執行此操作,所以最好先確定一下...
您應該檢查數據庫后端中的表AND列是否使用了正確的編碼(我假設是MySQL,因為您的錯誤消息似乎來自它)。 在MySQL中,列的編碼可以與表不同。 看看是否是UTF-8。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.