This looks like a problem with character encodings. I just copied your code sample into Arduino, saved the file and the looked at a hexdump of that file - the conclusion is that the Arduino editor is quite happily saving the file in UTF-8 (for me at least).
Basically, if it is the case that on your computer the Arduino editor is working in UTF-8, it simply means that every special character umlaute and eszett is being stored as two bytes instead of one. As a simple work around you could change every sequence including one of these characters to the comparison with the next highest string length. E.g. change
if(S2.equals("öh") == true) {PHON = "OE"; MINIMI = 2; MP3 = 26; LENGTH = 400;}
to
if(S3.equals("öh") == true) {PHON = "OE"; MINIMI = 3; MP3 = 26; LENGTH = 400;}
and move it to the first block of comparisons.
My preferred solution would be to change the encoding you're using to ISO-8859-1 (Western Europe), but how to do that depends greatly on which operating system you are using, which text-editors you have at your disposal/are comfortable with using etc.