/* 개발환경 델파이 2007에서 indy 10.5.8.0 */
인디9에서 인디10은 많은 것이 변했다.
그러나 같은 인디 10 중에서 최신 indy 10.5.8.0도 빌드 버전에 따라 파라메터들이 바뀐 것도 있다.
또한 본격적으로 UTF8이 사용되므로 인한 한글 깨짐 혼선이 나타난다.
델파이와 인디의 인코딩이 다름으로 인한 문제인데
최근 작업중 TIdTCPClient, TIdTCPServer, TIdUDPServer, TIdUDPClient등에서
한글깨짐이 발생하여 그 해결 책을 정리한다.
해결방법은 선택 파라메터를 비워두지 말고 enUTF8을 넣는다.
- TCP클라이언트에서
IdTCPClient1.IOHandler.WriteLn(Msg, enUTF8);
- 서버 IdTCPServer1Execute 이벤트에서는
Msg := AContext.Connection.IOHandler.ReadLn(enUTF8);
특히 UDP 계열은 선택 파라메터를 모두 채운다
- 보낼때
IDUDPServer1.Send(PeerClients[i].PeerIP,
PeerClients[i].Port,
MyID + 'Send Message : ' + edMsg.Text, enUTF8, enUTF8);
-받을때 idUDPServer1UDPRead 이벤트에서
mmoUDPMsg.Lines.Add(BytesToString(AData, enUTF8, enUTF8));
이 역시 델파이 버전마다 차이가 있을 수 있다.
시간이 지나 델파이와 인디가 모두 UTF8이 기본 인코딩이면 해결될 문제지만...
'델파이' 카테고리의 다른 글
마우스커서 이동후 클릭효과 (0) | 2012.11.30 |
---|---|
ADO로 엑셀파일을 열기위한 설정값 (0) | 2012.08.06 |
명령프롬프트 드라이브 이동 (0) | 2012.06.30 |
퀵리포트(QuickReport) -> PDF파일, XPS파일 생성 , DataSet없이 인쇄 (0) | 2012.05.23 |
개발용 글꼴 화면디자인 퀵리포트 글꼴(Font) 결정 (0) | 2012.05.10 |