所以这里是我的问题:我试图从表 比较它与一个Unicode字符串的特定值。该值也是unicode。我正在使用 mysql.connector
。服务器设置都是以utf8为导向的。当我在查询后运行 - 我得到一个空列表。当我运行它时没有使用'WHERE Title like '%s''
部件,我得到了一组完整的值,并且它们在 输出中正确显示。相同的查询在服务器上的命令行中起作用。在那里值肯定是 。我错过了什么?Python的mysql连接器喜欢unicode值
conn = sql.connect(host='xxxxxxx', user='xxx', password='xxx', database='db', charset="utf8")
cur = conn.cursor()
townQuery = (u"""SELECT * FROM Towns WHERE Title like '%s' """)
tqd = (u"%" +u"Серов"+u"%")
cur.execute(townQuery, tqd)
for i in cur:
print i
这就是问题 - 没有这些引号,它根本不起作用......抛出异常... –
请发布完整的回溯错误消息。 – unutbu
非常感谢!这个逗号是问题!现在它工作! –