Frage zu CharArray strlen() und Umlaut

das ü ist halt in UTF-8 ein zwei byte Zeichen.

Wird dir nichts anderes übrigbleiben, als dass du deine Zeichen auf UTF-8 prüfst wenns notwendig ist.
Siehst an den ersten vier Bits je Zeichen wie viele Bytes dein Zeichen braucht.