gpt4 book ai didi

python - MySQL显示波斯字符的问题

转载 作者:行者123 更新时间:2023-12-01 00:12:47 24 4
gpt4 key购买 nike

我有一个Flask应用程序,它的数据库是MySQL。我正在尝试在包含波斯语数据字段的表之一上执行SELECT查询。查询输出是问号(?),而不是波斯字符。
这是我的数据库字符集:

+--------------------------+---------+
| Variable_name | Value |
+--------------------------+---------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | utf8 |
| character_set_system | utf8 |
+--------------------------+---------+


这是我在服务器上执行SELECT查询时的波斯字符:

mysql> select dComment from dailyLeave;

+---------------------------------------------------+
| dComment |
+---------------------------------------------------+
| مرخصی یک روزه به دلیل کسالت |
| مرخصی اجباری! |
+---------------------------------------------------+


这是我在Python代码中执行相同查询时的输出:

cur, conn = connection()
cur.execute('SELECT dComment FROM dailyLeave')

(('????? ?? ???? ?? ???? ?????',), ('????? ??? ???? ????',))

最佳答案

我自己找到了解决方案,这很容易:)
在执行查询之前,请在代码中写入以下内容:

db.set_character_set('utf8')
dbc.execute('SET NAMES utf8;')
dbc.execute('SET CHARACTER SET utf8;')
dbc.execute('SET character_set_connection=utf8;')


db是MySQLdb.connect()的结果,而dbc是db.cursor()的结果。

感谢 The person who posted this

关于python - MySQL显示波斯字符的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59509610/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com