|
47 | 47 | NotSupportedError, ProgrammingError
|
48 | 48 |
|
49 | 49 |
|
50 |
| -def normalize_utf8mb4(charset): |
51 |
| - return 'utf8' if charset == 'utf8mb4' else charset |
52 |
| - |
53 | 50 | class BaseCursor(object):
|
54 | 51 |
|
55 | 52 | """A base for Cursor classes. Useful attributes:
|
@@ -180,9 +177,8 @@ def execute(self, query, args=None):
|
180 | 177 | """
|
181 | 178 | del self.messages[:]
|
182 | 179 | db = self._get_db()
|
183 |
| - charset = normalize_utf8mb4(db.character_set_name()) |
184 | 180 | if isinstance(query, unicode):
|
185 |
| - query = query.encode(charset) |
| 181 | + query = query.encode(db.unicode_literal.charset) |
186 | 182 | if args is not None:
|
187 | 183 | query = query % db.literal(args)
|
188 | 184 | try:
|
@@ -228,8 +224,8 @@ def executemany(self, query, args):
|
228 | 224 | del self.messages[:]
|
229 | 225 | db = self._get_db()
|
230 | 226 | if not args: return
|
231 |
| - charset = normalize_utf8mb4(db.character_set_name()) |
232 |
| - if isinstance(query, unicode): query = query.encode(charset) |
| 227 | + if isinstance(query, unicode): |
| 228 | + query = query.encode(db.unicode_literal.charset) |
233 | 229 | m = insert_values.search(query)
|
234 | 230 | if not m:
|
235 | 231 | r = 0
|
@@ -288,20 +284,19 @@ def callproc(self, procname, args=()):
|
288 | 284 | """
|
289 | 285 |
|
290 | 286 | db = self._get_db()
|
291 |
| - charset = db.character_set_name() |
292 | 287 | for index, arg in enumerate(args):
|
293 | 288 | q = "SET @_%s_%d=%s" % (procname, index,
|
294 | 289 | db.literal(arg))
|
295 | 290 | if isinstance(q, unicode):
|
296 |
| - q = q.encode(charset) |
| 291 | + q = q.encode(db.unicode_literal.charset) |
297 | 292 | self._query(q)
|
298 | 293 | self.nextset()
|
299 | 294 |
|
300 | 295 | q = "CALL %s(%s)" % (procname,
|
301 | 296 | ','.join(['@_%s_%d' % (procname, i)
|
302 | 297 | for i in range(len(args))]))
|
303 | 298 | if type(q) is UnicodeType:
|
304 |
| - q = q.encode(charset) |
| 299 | + q = q.encode(db.unicode_literal.charset) |
305 | 300 | self._query(q)
|
306 | 301 | self._executed = q
|
307 | 302 | if not self._defer_warnings: self._warning_check()
|
|
0 commit comments