【发布时间】:2019-04-27 10:14:07
【问题描述】:
在我的 python3 程序中从 MySQL 打印 Cyrillic 文本时,我得到的是问号而不是文本。
我在 MySQL 表中看到的文字是Рожден ден。
我在python3程序中看到的文字是?????? ???。
行的类型是str类。
对于这个列表,我使用的是 wxpython,wx 模块。
conn = pymysql.connect(host='localhost', database='Tasks', password='password', user='user')
cursor = conn.cursor()
cursor.execute('SELECT occasion,date,event FROM Important_Days')
records = cursor.fetchall()
for row in records:
pos = self.list1.InsertStringItem(0, row[0])
self.list1.SetStringItem(pos, 1, str(row[1]))
self.list1.SetStringItem(pos, 2, row[2])
conn.close()
【问题讨论】:
-
This question 使用不同的驱动程序 (MySQLdb),但得分最高的答案显示了一种配置 MySQL 以处理 unicode 的方法。对this question 的接受答案(同样适用于 MySQLdb)显示了要在
connect调用上设置的参数。值得在谷歌上搜索如何最好地配置 MySQL 来处理 unicode。在更改任何数据库设置之前进行备份。 -
可能有更好的副本,但它们取决于您在 MySQL 端配置的准确程度。一般可能的重复是stackoverflow.com/questions/46061496/…
标签: python mysql character-encoding