SQLAlchemy操作MySQL讀取字段名稱,類型,註釋時,註釋中文亂碼解決方案

背景:想要讀取MySQL裏某張表的字段名稱,類型,註釋,在MySQL界面操作沒有出現中文亂碼,腳本調用查詢sql時出現亂碼:

SELECT column_name, data_type, column_comment 
FROM information_schema.columns 
WHERE table_schema ='user' and table_name ='user_info' 
ORDER BY ordinal_position

結果出現:["id", "int", "???"], ["name", "varchar", "???"]...

字段註釋全是‘?’

查了一下其他人的解決方案都是去修改mysql的編碼

但我這裏的mysql編碼就是utf8:

mysql> show variables like '%char%';
+--------------------------+--------------------------------+
| Variable_name            | Value                          |
+--------------------------+--------------------------------+
| character_set_client     | utf8mb4                        |
| character_set_connection | utf8mb4                        |
| character_set_database   | utf8mb4                        |
| character_set_filesystem | binary                         |
| character_set_results    | utf8mb4                        |
| character_set_server     | utf8mb4                        |
| character_set_system     | utf8                           |
| character_sets_dir       | /usr/share/mysql-8.0/charsets/ |
+--------------------------+--------------------------------+
8 rows in set (0.06 sec)

最後找到解決方式,連接mysql時指定編碼:

create_engine("mysql+mysqldb://user:pwd@ip:port/user?charset=utf8")
 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章