Le problème que vous rencontrez est que Unicode permet plusieurs façons de composer le même symbole. Le module Python unicodedata
fournit une fonction normalize
qui vous permet de convertir les représentations Unicode en une forme
fixe (ex. NFC)
from unicodedata import normalize
S1 = b'\xc4\x83\xcc\x83'.decode('UTF-8')
S2 = b'\xe1\xba\xb5'.decode('UTF-8')
print(normalize('NFC', S1).encode('UTF-8'))
print(normalize('NFC', S2).encode('UTF-8'))
Dans votre exemple, tripadvisor s'affiche sous forme NFD, tandis que le bloc-notes utilise NFC.