Be glad you don't have to deal with non-ASCII characters: acute/grave/tilde/umlaut/diaresis/etc. accented characters, dotted vs. dotless 'i' (Turkish), barred i (an 'i' with a sort of dash through the middle, used in some languages for a sort of schwa-like vowel), thorn, not to mention non-Roman characters. And different languages sort the same characters differently, so you can't just pay attention to their Unicode values. (@cubefox has a post here pointing to the Unicode Consortium's doc about sorting)