diff --git a/gramps/gen/utils/grampslocale.py b/gramps/gen/utils/grampslocale.py index 91b18d1a6..3458be1be 100644 --- a/gramps/gen/utils/grampslocale.py +++ b/gramps/gen/utils/grampslocale.py @@ -32,6 +32,7 @@ import codecs import locale import collections import logging +from binascii import hexlify LOG = logging.getLogger("." + __name__) LOG.propagate = True @@ -856,8 +857,9 @@ class GrampsLocale(object): """ if HAVE_ICU and self.collator: - #ICU can digest strings and unicode - return self.collator.getCollationKey(string).getByteArray() + # ICU can digest strings and unicode + # Use hexlify() as to make a consistent string, fixing bug #10077 + return hexlify(self.collator.getCollationKey(string).getByteArray()).decode() else: if isinstance(string, bytes): string = string.decode("utf-8", "replace")