도사 님이 쓰신 글 :
: 안녕하세요.
: D2010 에서 XE7 을 구매하여 소스 수정중에 있습니다.
:
: 소스 변경중 indy 가 버전이 올라가면서 바뀐 부분이 있는거 같은데요.
:
: sData: AnsiString;
: begin
: sData := AContext.Connection.Socket.ReadLn(TEncoding.Default);
:
: 예전에는 위와 같이 구현하였고 한글이 깨지지 않고 구현이 되었습니다.
:
:
: 그런데 요번에 새로 바뀐 버전은 방식이 좀 틀려진 듯 합니다.
:
: sData := AContext.Connection.Socket.ReadLn(IndyTextEncoding_Default);
:
: 이렇게 구현을 해봤는데 패킷 수신시 한글이 깨져서 나옵니다.(??? ?????)
:
: 구현 방법이 잘못 되었는지 아님 다른 방법이 있는지 궁금합니다.
:
:
자답)
맞는지는 모르겠는데요.
주고 받는 프로그램 indy 버전이 동일할때 UTF8 로 동일하게 encode 를 해줘야 안깨지더군요.
IndyTextEncoding_UTF8 혹은 enUTF8 (IndyTextEncoding_UTF8 wrapping)
|