Have you ever written your own unicode library, or are you just parroting what you've heard?
I have written my own unicode library, normalizing strings as UTF-32 is MUCH MUCH MUCH easier than trying to do the same in UTF-8 or UTF-16.
not to mention casefolding, and it also allows you to design better interfaces, so that the actual algorithm only needs to be implemented once.