MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Stessa parola ma caratteri Unicode diversi

Il problema che incontri è che unicode consente più modi per comporre lo stesso simbolo. Il modulo Python unicodedata fornisce una funzione normalize che ti consente di convertire le rappresentazioni Unicode in un modulo modulo (es. 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'))

Nel tuo esempio tripadvisor visualizzato in forma NFD, mentre il blocco note utilizzava NFC.