From 007890930d953798d7cf313b57c7b4a62537dc34 Mon Sep 17 00:00:00 2001 From: Gord Thompson Date: Wed, 2 Oct 2019 04:52:22 -0600 Subject: [PATCH] add on_connect to MySQLDialect_pyodbc Fixes: #4876 --- lib/sqlalchemy/dialects/mysql/pyodbc.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/lib/sqlalchemy/dialects/mysql/pyodbc.py b/lib/sqlalchemy/dialects/mysql/pyodbc.py index e8d2034a17..889996b8a2 100644 --- a/lib/sqlalchemy/dialects/mysql/pyodbc.py +++ b/lib/sqlalchemy/dialects/mysql/pyodbc.py @@ -79,5 +79,18 @@ class MySQLDialect_pyodbc(PyODBCConnector, MySQLDialect): else: return None + def on_connect(self): + super_ = super(MySQLDialect_pyodbc, self).on_connect() + + def on_connect(conn): + if super_ is not None: + super_(conn) + + conn.setdecoding(1, encoding='utf-8') # pyodbc.SQL_CHAR + conn.setdecoding(-8, encoding='utf-8') # pyodbc.SQL_WCHAR + conn.setencoding(encoding='utf-8') + + return on_connect + dialect = MySQLDialect_pyodbc -- 2.47.3