如何用Djang将unicode存储到mysql

2024-10-02 20:32:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Django(1.4)模型中有一个文本字段,我试图使用MySQLdb将记录保存到MySQL。在

MySQL使用的是UTF-8字符集。在

我正在尝试存储Unicode字符串:

u"\u2019"

我希望能够在Django中使用Unicode自动转换为UTF-8进行存储。在

但是我得到了一个错误:

^{pr2}$

现在我注意到,如果在保存之前手动将字符串编码为UTF-8,我可以修复这个错误。在

mystring.encode("utf-8")

我有什么遗漏吗?在

编辑:示例代码

模型如下:

class MyModel(models.Model):
    textfield = models.TextField()

> mystring = u'\u2019'
> print mystring
’
> MyModel(mystring).save()
*** UnicodeEncodeError: 'ascii' codec can't encode character u'\u2019' in position 1: ordinal not in range(128)
> MyModel(mystring.encode("utf-8")).save() #this instead works

Tags: django字符串in模型modelssave错误mysql