Unicode latin1 encoding / decoding
When fetching data from unknown / old / inconsistent Mysql database to Postgres utf-8 db using Python ORM (Django) I sometimes get erroneous encoded data.
Target: grégory
> a
u'gr\xe3\xa9gory'
> print a
grã©gory
I've tried several decode / encoding attempts with no success:
> print a.encode('utf-8').decode('latin1')
grã©gory
> print a.encode('utf-8').decode('latin1')
grã©gory
> print a.decode('latin-1')
UnicodeEncodeError: 'ascii' codec can't encode characters in position 2-3: ordinal not in range(128)
Even with some unicode_escape
+3
source to share