You can't truncate a sequence of Unicode codepoints without the risk of producing a broken string, either. What do you get if you truncate "Åström" after the first "o"? What do you get if you truncate 🇨🇦 after the first codepoint?
Normalization is not a real solution unless you restrict yourself to working with well-edited formal prose in common Western languages.
Normalization is not a real solution unless you restrict yourself to working with well-edited formal prose in common Western languages.
This is not a claim made from ignorance.