"Ftär" entspricht einem 3-fachen UTF8 von "Ftär"
da wäre es wohl besser mal rauszubekommen warum das 3-mal codiert wurde,
als zu versuchen es richtig zu dekodieren.
Delphi-Quellcode:
S := 'Ftär'; // S = 'Ftär'
S := UTF8Decode(S); // S = 'Ftär'
S := UTF8Decode(S); // S = 'Ftär'
S := UTF8Decode(S); // S = 'Ftär'
S := UTF8Decode(S); // S = '' << Fehler: war kein UTF8
S := UTF8Decode('Fär'); // S = 'Fär'
Sowas zum Dekodieren wäre ja nicht unbedingt die optimalste Lösung:
Delphi-Quellcode:
Function TryUTF8Decode(S: UTF8String): WideString;
Begin
Result := S;
While UTF8Decode(S) > '' do Begin
Result := UTF8Decode(S);
S := Result;
End;
End;