Ok, then it should work, I've set up a small testproject with only one form with a TLabel and this FormCreate procedure:
procedure TMainForm.FormCreate(Sender: TObject);
var
fAngle:double;
sAngle,
sCenterLabel:string;
begin
fAngle:=23.3;
sAngle:=FloatToStr(fAngle);
sCenterLabel:=sAngle+'°';
Label1.Caption:=sCenterLabel;
end;
If the source file ist utf8 encoded (with or without bom) it works correct in Windows (win32 widgetset) and Linux (qt5 widgetset).
Maybe some special things in Project->Project Options->Compiler Options->Additions and Override. I have no special settings here only LCLWidgetType is defined.