Einzelnen Beitrag anzeigen

Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#4

Re: Problem mit Utf8Encode in D2009

  Alt 28. Okt 2008, 17:47
So, des Problems Lösung:

Überladene Funktion für EncdDecd schreiben, die bei EncodeString mit UTF8String als Input arbeitet und dem TStringStream das Encoding manuell zuweisen:

Delphi-Quellcode:
function EncodeString(const Input: UTF8String): String; overload;
var
  InStr, OutStr: TStringStream;
begin
  InStr := TStringStream.Create(Input, TEncoding.UTF8);
  try
    OutStr := TStringStream.Create('');
    try
      EncodeStream(InStr, OutStr);
      Result := OutStr.DataString;
    finally
      OutStr.Free;
    end;
  finally
    InStr.Free;
  end;
end;
Die Ursache ist wirklich die automatische Rückwandlung von UTF8 zu Unicode. Danke Julius für die Idee!

Gruß Assertor
Frederik
  Mit Zitat antworten Zitat