Hallo!
Bein Einlesen einer Datei erhalte ich die
Exception "Keine Zuordnung für Unicodezeichen in der Multibyte-Zielcodeseite vorhanden". Beim Durchschauen habe ich festgestellt, es sind in der Datei tatsächlich ALLE Sonderzeichen geschrottet und durch die Zeichenfolge
(aus
ANSI-Sichtweise, alle gleich, egal was es vorher mal war) ersetzt worden. Das ist serverseitig passiert und außerhalb meines Einflussbereiches. Das ist zwar doof, sollte aber nicht dazu führen dass mein Programm beim Einlesen aufgibt. Vielmehr hätte ich gerne, dass nicht dekodierbare
Unicode-Zeichen als "?" ausgegeben werden. Kann man das mit wenig Aufwand hier ergänzen oder muss ich die gesamte Datei "zu Fuß" scannen?
Delphi-Quellcode:
LReader := TStreamReader.Create(AStream, TEncoding.Unicode, True, 2048);
try
FZeileNr := 0;
while LReader.Peek >= 0 do begin
ZeileVerarbeiten(LReader.ReadLine);
Inc(FZeileNr);
end;
finally
FreeAndNil(LReader);
end;
Das ist auch insofern sehr wichtig, damit nicht dekodierbare Zeichen nicht dazu führen, dass sich Multibyte-Zeichen zu mehreren Singlebyte-Zeichen "vermehren" weil das die Logik durcheinander bringt.
Grüße
Cody