Human language and culture is too complex, fuzzy, and variable to hardwire its rules into a programming language specification. Character boundaries and character transformations are really only the beginning of it.
Consider finding the end of an English word. Is an apostrophe at the end an actual apostrophe denoting the possessive case (of a plural word) or meant as a closing single quote (even where there are different symbols, they are often mixed up when doing data entry)? How do you pluralize words? You have to consider exceptions to the usual rules (e.g., a dictionary), words that only exist in the plural, languages that don't have the concept of plural words, etc.
If I have a database of employee bios and I write an app so HR can search that database, it's no problem for them to type in "management" and get a list of all employees with the word "management" in their bio. But when a division does the same thing in a non-English-speaking country where there's an é in the word, then that word can be composed of either two characters or one and searching one way will tend to miss any results which were composed of text the other way. The solution here is to normalize the data before it is stored in the DB and the search term before it is searched for.
It's a simple concept. Not all programmers are aware of it, however, and this guy totally missed the point.
I bet the MS Word team that made internationalized search/replace spent a lot of time getting it even somewhat right.
Everybody knows about Bobby Tables? How about Mr. เจ้าพระยาบดินทรเดชา Unicode?
What if somebody told you that if certain exotic names are entered into the system by certain input method, government officials can't find those people in their searches, including full text search to a police report?
Not actually
Just off the top of my head. There are far more. You can't even have a native language user friendly login system without normalizing text.
search, that counts
text replacement,
why?
ellipsizing text at the end or middle (as done commonly on iOS),
you need to know width for that, and you don't, bad idea
fuzzy search,
search
password word limits, password length limits, matching passwords (try using bcrypt on international languages without first normalising),
i18n password? very bad idea
detecting and filtering rude words in public chat
search&replace, anyway you won't be able to, because f͌̊ͦuͥcͥ͑ͩ͛k͂͌̿ͣ̾
You also need to not chop off accents. "café" cannot become "cafe…"
> i18n password? very bad idea
Because string types are so broken.