保存Unicode时,MySql中的“不正确的字符串值”错误

时间:2013-08-26 19:09:24

标签: python mysql django unicode utf-8

当我尝试将类似украден的内容添加到群组名称字段时,我收到此错误:

(1366, "Incorrect string value: '\\xD1\\x83\\xD0\\xBA\\xD1\\x80...' for column 'group_name' at row 1")

首先,如果发生错误,则不会创建任何组。但是,在我运行MySql命令后,在我的django数据库中更改了从utf8utf8_general_ci发生错误的特定列的编码,该组是使用我输入的unicode字符创建的,但是当我使用unicode字符修改组名时,仍会显示上面的错误。

模型中的Unicode方法:

def __unicode__(self):
    return u'{}/{} (Group {})'.format(self.id, self.name,
                                      self.owner_group_id)

1 个答案:

答案 0 :(得分:0)

我认为这对您有用,请尝试让我知道它是否有效:

import MySQLdb as mdb
con = mdb.connect('host', 'user', 'pass', 'dbname')
cur = con.cursor()
con.set_character_set('utf8')
cur.execute('SET NAMES utf8;')
cur.execute('SET CHARACTER SET utf8;')
cur.execute('SET character_set_connection=utf8;')