我认为我的问题是python不能很好地处理SQL表中列的字符编码:
| column | varchar(255) | latin1_swedish_ci | YES | | NULL | | select,insert,update,references | |
上面显示了此列的输出。它的类型是varchar(255)
,编码是latin1_swedish_ci.
现在,当我试图让python使用这些数据时,我得到了以下错误:
^{pr2}$gs
是gensim主题建模库。我认为问题是gensim需要unicode编码。在
谢谢你的帮助!在
我想你的MYSQLdb python库不知道它应该编码成utf8
并且编码为默认的python系统定义的字符集latin1。在
当您connect()到数据库时,传递
charset='utf8'
参数。这也应该使手册
SET NAMES
我用MySQLdb v1.2.5试用了@saudi_Dev的解决方案。表I查询是用}),而不是{}。在
DEFAULT CHARSET=utf8
创建的。即便如此,在尝试@saudi_Dev的解决方案之前,cursor.fetchall()
出于某种原因返回了latin1
中的字符串。在使用charset=utf8
参数之后,cursor.fetchall()
将字符串返回为Unicode
(技术上不是{但我在http://mysql-python.sourceforge.net/MySQLdb.html中看到,您也可以传递参数
use_unicode=False
。这是因为,根据我发布的链接中的用户指南,使用charset
参数意味着use_unicode=True
。在对于问题1,您需要使用
我不知道第二个问题。在
相关问题 更多 >
编程相关推荐