2
我有這樣的代碼插入一些沒有拉丁字符內,然後從IDTCPserver
發送到idTcpclient
如何讀取從iDTCPServer發送的內存流中的非拉丁字符?
LVU := TStringList.Create;
LVU.Add('مرحبا');
try
if (LVU.Count > 0) then
begin
memorylist := TMemoryStream.Create;
try
LVU.SaveToStream(memorylist);
memorylist.Position := 0;
AContext.Connection.IOHandler.DefStringEncoding := IndyTextEncoding_UTF8;
AContext.Connection.IOHandler.LargeStream := true;
AContext.Connection.IOHandler.Write(memorylist, 0, true);
finally
memorylist.Free;
end;
end;
finally
LVU.Free;
end;
,但是當客戶接受它,它裏面recive MS作爲文本「???????」可能是什麼問題 ?我已經設置連接編碼爲utf8
我在Ubuntu上運行此服務器。當我在Windows上嘗試服務器時,我通常會收到文本。
這是我在客戶端讀取流
FMSFROMCALL := TMemoryStream.Create;
FTCP.Socket.LargeStream := True;
FTCP.Socket.ReadStream(FMSFROMCALL, -1, false);
FMSFROMCALL.Position := 0;