मैं गलत ड्राइवर का उपयोग कर रहा था। सर्वर में ड्राइवर था MySQL ODBC 5.1 Driver
और मैं MySQL ODBC 8.0 ANSI Driver
में उपयोग कर रहा था . यह अजीब एन्कोडिंग की व्याख्या करता है।
params = urllib3.parse.quote_plus("DRIVER={MySQL ODBC 5.1 Driver};"
f"SERVER={host}:{port};"
f"DATABASE={db};"
f"UID={username};"
f"PWD={password};"
f"charset=utf8")
db_engine = create_engine(f"mysql+pyodbc:///?odbc_connect={params}")
connection = db_engine.connect()