Ä Ö Ü Problem

Something I forgot to mention is that toLowerCase() won't work for these characters either and you may want to write your own. If you get things working in ISO-8859-1 then conversion is as simple as checking that the input is in a certain range (ranges containing only uppercase characters), and if it is, adding 32 to the character code to make it lowercase. This is a convenient property of the way the ASCII and ISO-8859-1 tables were designed.

See ISO/IEC 8859-1 - Wikipedia to see what I'm talking about.