squalyl (./3133) :
le vrai pebkac ce serait pas qu'unicode autorise a coder le même caractère de manières différentes?
parce du coup y'a plus de problème avec cette hypothèse hein...
Mais *c'est* le cas, à cause des caractères composés (accents, trémas, …). Donc il y a logiquement deux formes possibles :
* « é » est un seule caractère unicode (forme NFC),
* « é » est formé de deux caractères (l'accent et le e) — c'est la forme NFD.
Donc tu peux tout normaliser en prenant la première forme, ou la seconde, au choix.
De plus, pour des raisons de compatibilités, certaines lettres sont présentes plusieurs fois dans Unicode (mais correspondent bien au même caractère). Tu peux donc normaliser en remplaçant tous les caractères équivalents par le plus petit (normes NFKC et NFKD).