diff options
-rw-r--r-- | pym/portage/dbapi/vartree.py | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/pym/portage/dbapi/vartree.py b/pym/portage/dbapi/vartree.py index db05fca6b..c13af9263 100644 --- a/pym/portage/dbapi/vartree.py +++ b/pym/portage/dbapi/vartree.py @@ -792,7 +792,7 @@ class vardbapi(dbapi): counter, = self.aux_get(cpv, aux_keys) except KeyError: continue - h.update(counter.encode()) + h.update(counter.encode('ascii', 'backslashreplace')) return h.hexdigest() def cpv_inject(self, mycpv): @@ -1390,7 +1390,9 @@ class vardbapi(dbapi): def _hash_str(self, s): h = self._new_hash() - h.update(s.encode()) + # Always use a constant utf_8 encoding here, since + # the "default" encoding can change. + h.update(s.encode('utf_8', 'backslashreplace')) h = h.hexdigest() h = h[-self._hex_chars:] h = int(h, 16) |