- 论坛徽章:
- 0
|
>>> conn = MySQLdb.connection(host ="",user = "root", passwd = "123456", db = "django_test");
>>>
>>> charset = conn.character_set_name()
>>> charset
'latin1_swedish_ci'
---------------------------------------------------------
数据库的字符集明明是latin1,'latin1_swedish_ci'是相应的collation,这里字符集居然返回的是'latin1_swedish_ci',然后编码就出错
LookupError: unknown encoding: latin1_swedish_ci
晕啦
我是在用django的session的时候,需要创建相应的数据库表,操作如下命令
./manage.py syncdb
报错的,我跟踪了一下,发现在MySQLdb模块的cursors.py文件的第146-149行
db = self._get_db()
charset = db.character_set_name()
if isinstance(query, unicode):
query = query.encode(charset)
这里返回的charset就是'latin1_swedish_ci',然后用 query = query.encode('latin1_swedish_ci')编码,就报错啦!!
这是不是MySQLdb的bug阿????
哪位高人能给指点一二啊。 |
|