MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Même mot mais caractères Unicode différents

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.