sql >> Databáze >  >> NoSQL >> MongoDB

Stejné slovo, ale různé znaky Unicode

Problém, na který narazíte, je ten, že unicode umožňuje více způsobů, jak sestavit stejný symbol. Modul Pythonu unicodedata poskytuje funkci normalize který vám umožňuje převést reprezentace unicode na pevný formu (např. 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'))

Ve vašem příkladu je tripadvisor zobrazen ve formě NFD, zatímco poznámkový blok používal NFC.




  1. Optimalizace souběžných požadavků ImageMagick pomocí redis/php-resque

  2. Zjistěte, zda někdo měl narozeniny v příštích 30 dnech s mongo

  3. Databáze dokumentů:Redundantní data, reference atd. (konkrétně MongoDB)

  4. Import CSV pomocí schématu Mongoose