python - 如何将问号而不是文本转换为西里尔字母?

标签 python mysql character-encoding

在我的 python3 程序中从 MySQL 打印西里尔文本时,我得到的是问号而不是文本。

我在 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()

最佳答案

问号是在INSERT期间创建的,无法从中取出西里尔字母。

参见 Trouble with UTF-8 characters; what I see is not what I stored 中的“问号”

有关 Python 的注释请参阅此:http://mysql.rjweb.org/doc.php/charcoll#python

关于python - 如何将问号而不是文本转换为西里尔字母?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55879469/

相关文章:

Python暂停线程执行

python - __iter__ 和 __getitem__ 有什么区别?

用于从表中删除某些行的 MySQL 脚本

python - unicode Python 字符串中的字节数

python - 解析Python文件以检查它是否符合某些规则

python - 在 PySpark Dataframe 中向数组内的元素添加天数

mysql - 将自动递增 ID 添加到现有升序列?

mysql - 如何使用2个带有OR条件的连接表来选择没有重复记录的sql数据

.net - 确定TextFile编码?

java - 判断字符串中的字符是否都是特定字符集