summaryrefslogtreecommitdiff
path: root/MySQLdb
diff options
context:
space:
mode:
Diffstat (limited to 'MySQLdb')
-rw-r--r--MySQLdb/cursors.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/MySQLdb/cursors.py b/MySQLdb/cursors.py
index a8cfa3e..3023fa3 100644
--- a/MySQLdb/cursors.py
+++ b/MySQLdb/cursors.py
@@ -47,6 +47,9 @@ from _mysql_exceptions import Warning, Error, InterfaceError, DataError, \
NotSupportedError, ProgrammingError
+def normalize_utf8mb4(charset):
+ return 'utf8' if charset == 'utf8mb4' else charset
+
class BaseCursor(object):
"""A base for Cursor classes. Useful attributes:
@@ -177,7 +180,7 @@ class BaseCursor(object):
"""
del self.messages[:]
db = self._get_db()
- charset = db.character_set_name()
+ charset = normalize_utf8mb4(db.character_set_name())
if isinstance(query, unicode):
query = query.encode(charset)
if args is not None:
@@ -225,7 +228,7 @@ class BaseCursor(object):
del self.messages[:]
db = self._get_db()
if not args: return
- charset = db.character_set_name()
+ charset = normalize_utf8mb4(db.character_set_name())
if isinstance(query, unicode): query = query.encode(charset)
m = insert_values.search(query)
if not m: