1 | diff --git a/django/db/backends/mysql/base.py b/django/db/backends/mysql/base.py |
---|
2 | --- a/django/db/backends/mysql/base.py |
---|
3 | +++ b/django/db/backends/mysql/base.py |
---|
4 | @@ -239,6 +239,14 @@ |
---|
5 | self.connection = None |
---|
6 | return False |
---|
7 | |
---|
8 | + def _connect(self, **kwargs): |
---|
9 | + from django.utils.safestring import SafeString, SafeUnicode |
---|
10 | + from types import StringType, UnicodeType |
---|
11 | + connection = Database.connect(**kwargs) |
---|
12 | + connection.encoders[SafeString] = connection.encoders[StringType] |
---|
13 | + connection.encoders[SafeUnicode] = connection.encoders[UnicodeType] |
---|
14 | + return connection |
---|
15 | + |
---|
16 | def _cursor(self, settings): |
---|
17 | if not self._valid_connection(): |
---|
18 | kwargs = { |
---|
19 | @@ -259,7 +267,7 @@ |
---|
20 | if settings.DATABASE_PORT: |
---|
21 | kwargs['port'] = int(settings.DATABASE_PORT) |
---|
22 | kwargs.update(self.options) |
---|
23 | - self.connection = Database.connect(**kwargs) |
---|
24 | + self.connection = self._connect(**kwargs) |
---|
25 | cursor = CursorWrapper(self.connection.cursor()) |
---|
26 | return cursor |
---|
27 | |
---|