2013-06-22 2 views
0

유니 코드 지원을받을 수 있습니까? IdIRC1PrivateMessage에서 지금 당장 '?' 도와 주셔서 감사합니다.Delphi XE2 인디 IRC 유니 코드

procedure TForm1.IdIRC1PrivateMessage(ASender : TIdContext; 
const ANicknameFrom, AHost, ANicknameTo, AMessage : unicodestring); 

begin 
    Memo1.Lines.Add(TimeToStr(Time) + ': ' + ANicknameFrom + ': ' + AMessage); 
end; 

인디 (indy) 버전 : 10.5.8.0. mIRC 예를 들어 'żźć'에 메시지를 보내면 "???" 델파이

+0

IRC는 언어, 문자 집합 및 유니 코드에 대해서도 잘 모르는 구식 프로토콜입니다. http://en.wikipedia.org/wiki/IRC#Character_encoding 대신 XMPP 또는 다른 최신 프로토콜을 사용할 수 있습니까? –

+0

"IdIRC1PrivateMessage에서 지금 당장 '?'"무엇을 의미합니까? 오, 그런데, "유니 코드"는 무엇을 의미합니까? 6 가지 유니 코드 형식이 있습니다. Indy 버전을 지정하는 것도 좋은 방법입니다. 때로는 중요한 정보가됩니다. 그리고 아마 새로운 인디 버전을 얻는 것 : http://www.indyproject.org/Sockets/Download/Files/Indy10.EN.aspx –

+0

인디 버전 : 10.5.8.0. mIRC 예를 들어 'żźć'에 메시지를 보내면 "???" 델파이에서 – user2512579

답변

0

IRC 프로토콜 자체는 유니 코드를 제공하지 않습니다. mIRC는 적용 가능한 경우 UTF-8을 사용하여 유니 코드를 구현합니다 (this article 참조).

TIdIRC은 기본적으로 유니 코드를 지원하지 않습니다. 그러나, 당신은 수동으로, 또는 (기본값 encASCII로 설정) encUTF8에 글로벌 IdGlobal.GIdDefaultTextEncoding 변수를 설정하여 연결 한 후 IndyUTF8EncodingTIdIOHandler.DefStringEncoding 속성을 설정하여/디코딩 데이터가 UTF-8을 사용하여 인코딩하는 TIdIRC을 알 수 있습니다. 나는 모든 상황에서 (특히 CTC/DCC 작업 중) 제대로 작동 할 것이라고 보장하지 않습니다.

+0

verry 많이 감사합니다. 그 작품 !!! – user2512579