When you create a StreamReader using the simplest constructor - providing only the filepath - it is opened by default assuming UTF8 encoding-if your text file is not encoded in UTF8 then it's unlikely that any "non-English" characters such as those with an umlaut will be picked up correctly. You can specify the encoding:
StreamReader Constructor (Stream, Encoding) (System.IO)[
^] but I'd start by having a good look at your input data and it's source before I went too far to makesure that the characters you arelooking for aren't already "corrupted".