Zitat:
Re:Re:
Irgendeines der Programme hat Mist gebaut, die Codierung geschrottet und jetzt bist du am Arsch.
Entweder du versuchst das manuell zu übersetzen und das bezieht sich vorallem auf das UTF-8, welches du Zeichen für Zeichen selber übersetzen mußt.
Du dekodiertst also erst das Quoted-Printable und machts den Rest manuell.
Die Zeichen, welche sich übersetzen lassen (welche also der UTF-8-Codierung entsprechen), werden übersetzt und die Restlichen werden unverändert übernommen (billig von AnsiChar nach Char gekastet).
Oder du nutzt das, was funktioniert. (mir ist noch keine UTF-8-Dekodierfunktion untergekommen, welche Fehler versucht zu beheben)
Das Quoted-Printable selber scheint ja korrekt zu sein, womit du das erstmal auf den Text anwenden kannst.
Könntest du
UTF8ToString
verwenden und wenn das das UTF-8 dekodiert, dann wird das genommen und ansonsten lässt du den Schott-String so, wie er ist.
Delphi-Quellcode:
S := UTF8ToString(MyText);
if S = '' then
S := MyText;
Oder beim UTF-8 wird eben fehler
ignorierend übersetzt.
MultiByteToWideChar (wird vermutlich auch von den getesteten Funktionen verwendet), ersetzt "ungültige" Zeichen, oder Zeichen, welche nicht in das Zielformat passen, jeweils in ein "?".
Ein Therapeut entspricht 1024 Gigapeut.