Nochmal.
Wie ist GetFields deklariert?
Wenn du selber Decodieren willst, dann müssen auch die richtigen Typen verwendet werden, sonst führt Delphi implizit eine Convertierung durch und zerstört somit die Daten.
und wenn der Debugger einen UTF8String oder einen AnsiString mit UTF-8 drin findet (StringToUTF8 setzt im AnsiString die CodePage richtig auf CP_UTF8), dann wird das im Debugger decodiert und als
Unicode angezeigt.