diff --git a/evennia/utils/dbserialize.py b/evennia/utils/dbserialize.py index 0e1899494e..6be5bebe5a 100644 --- a/evennia/utils/dbserialize.py +++ b/evennia/utils/dbserialize.py @@ -30,7 +30,7 @@ except ImportError: from django.core.exceptions import ObjectDoesNotExist from django.contrib.contenttypes.models import ContentType from django.utils.safestring import SafeString, SafeBytes -from evennia.utils.utils import uses_database, is_iter +from evennia.utils.utils import uses_database, is_iter, to_str, to_bytes from evennia.utils import logger __all__ = ("to_pickle", "from_pickle", "do_pickle", "do_unpickle", @@ -679,7 +679,7 @@ def do_pickle(data): def do_unpickle(data): """Retrieve pickle from pickled string""" - return loads(data) + return loads(to_bytes(data)) def dbserialize(data): diff --git a/evennia/utils/picklefield.py b/evennia/utils/picklefield.py index 834249e1f1..06ea5de0a4 100644 --- a/evennia/utils/picklefield.py +++ b/evennia/utils/picklefield.py @@ -58,7 +58,7 @@ try: except ImportError: from pickle import loads, dumps # cpython 3.x, other interpreters -DEFAULT_PROTOCOL = 2 +DEFAULT_PROTOCOL = 4 class PickledObject(str):