Index: /home/jens/workspace/PyLucid_trunk/pylucid/django/db/backends/mysql_old/base.py
===================================================================
--- /home/jens/workspace/PyLucid_trunk/pylucid/django/db/backends/mysql_old/base.py	(revision 7947)
+++ /home/jens/workspace/PyLucid_trunk/pylucid/django/db/backends/mysql_old/base.py	(working copy)
@@ -63,6 +63,55 @@
         else:
             return getattr(self.cursor, attr)
 
+class MysqlUnicodeWrapper:
+    """
+    A Wrapper who decode all byte strings to unicode.
+    """
+    def __init__(self, cursor):
+        self.cursor = cursor
+
+    def _decode_results(self, result_raw):
+        """
+        decode all byte string to unicode with the server encoding.
+        """
+        if not result_raw:
+            return result_raw
+        result = []
+        for item in result_raw:
+            if isinstance(item, str):
+                item = item.decode("utf-8")
+            result.append(item)
+
+        return tuple(result)
+
+    def _decode_lines(self, result_raw):
+        """
+        decode every line in a resultset.
+        """
+        result = []
+        for line in result_raw:
+            result.append(self._decode_results(line))
+        return tuple(result)
+
+    def fetchone(self):
+        result_raw = self.cursor.fetchone()
+        return self._decode_results(result_raw)
+
+    def fetchall(self):
+        result_raw = self.cursor.fetchall()
+        return self._decode_lines(result_raw)
+
+    def fetchmany(self, *args):
+        result_raw = self.cursor.fetchmany(*args)
+        return self._decode_lines(result_raw)
+        return result_raw
+
+    def __getattr__(self, attr):
+        if attr in self.__dict__:
+            return self.__dict__[attr]
+        else:
+            return getattr(self.cursor, attr)
+
 class DatabaseFeatures(BaseDatabaseFeatures):
     inline_fk_references = False
     empty_fetchmany_value = ()
@@ -193,6 +242,9 @@
                     self.connection.set_character_set('utf8')
         else:
             cursor = self.connection.cursor()
+
+        cursor = MysqlUnicodeWrapper(cursor)
+
         return cursor
 
     def make_debug_cursor(self, cursor):
