"Umlaute"... hängt von vielen ab... vereinfacht: die Gegenstelle muss den gleichen Zeichensatz verwenden.
Wir übertragen auch zwischen 2x Delphi wenn möglich alles UTF8 kodiert. In neueren Delphi ist "TEncoding" da das Stichwort.
Wir verwenden kein "SendText"... "SendBuffer" mit Längenangabe in Bytes ist für Sockets die bessere und unicersellere Wahl, da weiß man im "WireShark" beim Mithören was einen erwartet