German Umlaute with Lazarus

I’ve found the problem.
As I said earlier, there is a problem in FPC itself.

open %Lazarus%\fpc\2.6.4\source\packages\fcl-db\src\base\db.pas and look for TDataSet.DataConvert :

procedure TDataSet.DataConvert(aField: TField; aSource, aDest: Pointer;
  aToNative: Boolean);

 // There seems to be no WStrCopy defined, this is a copy of
 // the generic StrCopy function, adapted for WideChar.
 Function WStrCopy(Dest, Source:PWideChar): PWideChar;
 var
   counter : SizeInt;
 Begin
   counter := 0;
   while Source[counter] <> #0 do
   begin
     Dest[counter] := char(Source[counter]); //<<< here should be WideChar instead of char , so it loses all unicode chars
     Inc(counter);
   end;
   { terminate the string }
   Dest[counter] := #0;
   WStrCopy := Dest;
 end;    
...