자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Delphi indy 10.6 질문 입니다.
2014.10.09 01:37
안녕하세요.
D2010 에서 XE7 을 구매하여 소스 수정중에 있습니다.
소스 변경중 indy 가 버전이 올라가면서 바뀐 부분이 있는거 같은데요.
sData: AnsiString;
begin
sData := AContext.Connection.Socket.ReadLn(TEncoding.Default);
예전에는 위와 같이 구현하였고 한글이 깨지지 않고 구현이 되었습니다.
그런데 요번에 새로 바뀐 버전은 방식이 좀 틀려진 듯 합니다.
sData := AContext.Connection.Socket.ReadLn(IndyTextEncoding_Default);
이렇게 구현을 해봤는데 패킷 수신시 한글이 깨져서 나옵니다.(??? ?????)
구현 방법이 잘못 되었는지 아님 다른 방법이 있는지 궁금합니다.
Delphi indy 10.6 질문 입니다.
2014.10.09 01:37
안녕하세요.
D2010 에서 XE7 을 구매하여 소스 수정중에 있습니다.
소스 변경중 indy 가 버전이 올라가면서 바뀐 부분이 있는거 같은데요.
sData: AnsiString;
begin
sData := AContext.Connection.Socket.ReadLn(TEncoding.Default);
예전에는 위와 같이 구현하였고 한글이 깨지지 않고 구현이 되었습니다.
그런데 요번에 새로 바뀐 버전은 방식이 좀 틀려진 듯 합니다.
sData := AContext.Connection.Socket.ReadLn(IndyTextEncoding_Default);
이렇게 구현을 해봤는데 패킷 수신시 한글이 깨져서 나옵니다.(??? ?????)
구현 방법이 잘못 되었는지 아님 다른 방법이 있는지 궁금합니다.
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)