MySQL显示波斯字符的问题

时间:2019-12-28 09:24:35

标签: python mysql utf-8 farsi

我有一个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')

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

1 个答案:

答案 0 :(得分:2)

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

set session time_zone='Asia/Kolkata'

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

感谢The person who posted this