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 "?".