는 좀 없음 라틴어의 charcter를 삽입 한 다음 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;
하지만 클라이언트가 그것을받을 때, 그것뿐만 MS 내부의 텍스트 받아 봐에 IDTCPserver
에서 보내이 코드가 '를 ???????' 무슨 문제가 될 수 있니? utf8에 이미 연결 인코딩을 설정했습니다.
이 서버를 우분투에서 실행합니다. Windows에서 서버를 사용하려고하면 정상적으로 텍스트가 나타납니다.
는 그리고 이것은 내가
FMSFROMCALL := TMemoryStream.Create;
FTCP.Socket.LargeStream := True;
FTCP.Socket.ReadStream(FMSFROMCALL, -1, false);
FMSFROMCALL.Position := 0;