考虑一下,我想要使用python的pickle存储在db中的字典。
我的问题是:我应该使用哪些django模型的字段?
到目前为止,我一直在使用CharField,但似乎有一个错误:
我挑了一个你''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)
我应该使用二进制字段和使用二进制的协议进行pickle吗?因为为了做到这一点我必须更改数据库,所以最好先确定...
答案 0 :(得分:0)
你应该检查你的数据库后端是否对你的表和列使用了正确的编码(我假设是MySQL,因为你的错误信息似乎来自它)。在MySQL中,列可以具有与表不同的编码。看看它是否是UTF-8。