diff --git a/synapse/storage/engines/maria.py b/synapse/storage/engines/maria.py
index 230b32858c..c934376930 100644
--- a/synapse/storage/engines/maria.py
+++ b/synapse/storage/engines/maria.py
@@ -27,7 +27,7 @@ class MariaEngine(object):
def encode_parameter(self, param):
if isinstance(param, types.BufferType):
- return str(param)
+ return bytes(param)
return param
def on_new_connection(self, db_conn):
@@ -45,3 +45,6 @@ class MariaEngine(object):
if isinstance(error, self.module.DatabaseError):
return error.sqlstate == "40001" and error.errno == 1213
return False
+
+ def load_unicode(self, v):
+ return bytes(v).decode("UTF8")
diff --git a/synapse/storage/engines/sqlite3.py b/synapse/storage/engines/sqlite3.py
index 72c11df461..389df35eb5 100644
--- a/synapse/storage/engines/sqlite3.py
+++ b/synapse/storage/engines/sqlite3.py
@@ -15,6 +15,8 @@
from synapse.storage import prepare_database, prepare_sqlite3_database
+import types
+
class Sqlite3Engine(object):
def __init__(self, database_module):
@@ -35,3 +37,8 @@ class Sqlite3Engine(object):
def is_deadlock(self, error):
return False
+
+ def load_unicode(self, v):
+ if isinstance(v, types.UnicodeType):
+ return v
+ return bytes(v).decode("UTF8")
|