Wenn du String verwendest und es in D2009/10 oder jünger verwendet wird, dann einfach UTF8Encode Und UTF8ToString, dann paßt sich das schon automatisch an
Delphi-Quellcode:
{$IF not Declared(UnicodeString)} Type UnicodeString = WideString; {$IFEND}
Procedure DecodeUTF(const ASource: UTF8String; Var S: AnsiString); Overload;
begin
S := Utf8ToAnsi(ASource);
end;
Procedure DecodeUTF(const ASource: UTF8String; Var S: UnicodeString); Overload;
begin
S := UTF8ToWideString(ASource);
end;
function EncodeUTF(const ASource: AnsiString): UTF8String; Overload;
begin
Result := UTF8Encode(ASource);
end;
function EncodeUTF(const ASource: UnicodeString): UTF8String; Overload;
begin
Result := UTF8Encode(ASource);
end;
// PS: UTF8Encode ist schon überladen, also kannst du es auch direkt nutzen