Unicode normaliser
NFC, NFD, NFKC or NFKD — pick the form and see the difference.
Result
Why you would use this
The same visible text can be stored two ways: é as one codepoint, or as e plus a combining accent. Normalisation picks one. NFC composes, NFD decomposes, and the K forms additionally fold compatibility characters — fi becomes fi, ① becomes 1 — which is destructive but exactly what a search index wants.