A number of languages has Accents (diacritical marks) e.g ä, ǟ, ą̈, B̈, b̈, C̈, c̈. They are generally pronunciation hints that don’t affect the textual meaning and writing those characters on English/Mobile device or for non native speakers can be cumbersome. In order to compare strings (names, address, email…∞), developers normalize the strings. e.g Website names, email addresses etc are case insensitive and developers do Case folding e.g java:if(s1.equalsIgnoreCase(s2)).

In addition to Case folding, user must also consider Accent Folding for search/autocomplete etc too. What that means is if string contains any of ò, ó, ô, õ, ö and user is searching for o, then the string shall be found in result. Here is the snippet, based on my answer at Stackoverflow. The character map can be enhanced to include all character set: