Das liegt leider an der mangelhaften UTF-8-Implementierung, welche schon immer so vorhanden ist. :wall.
(siehe Quellcode in
UTF8Decode)
In deinem Fall würde ich empfehlen dir eine eigene TEncoding-Klasse von TUTF8Encodung abzuleiten und dort die Konvertierung zu prüfen.
Delphi-Quellcode:
// Ausgang := UTF8Decode(Eingang);
if (Eingang <> '
') <> (Ausgang <> '
')
then
raise Exception.Create('
Fehlerhafte UTF-8-Kodierung');
Oder sogar mit einer eigenen Dekodierung, welche schon direkt bei der Übersetzung den Fehler wirft und sogar die Fehlerstelle mit anzeigen könnte.
Und nein, im
QC sind von mir schon seit Jahren schwerwiegendere und ebenso leicht korrigierbare Fehler gemeldet
und bis jetzt hat sich nix getan, also warum sollte sich hier was tun?