Problem, który napotykasz, polega na tym, że unicode pozwala na wiele sposobów komponowania tego samego symbolu. Moduł Pythona unicodedata
udostępnia funkcję normalize
który pozwala na konwersję reprezentacji Unicode na stały formularz
(np. 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'))
W twoim przykładzie tripadvisor wyświetlany w formie NFD, podczas gdy notatnik używał NFC.