2013-06-22 176 views
0

是否有可能得到那裏的Unicode支持?現在在IdIRC1PrivateMessage我有'?'感謝幫助。Delphi XE2 Indy IRC Unicode

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中發送消息時,例如'żźć',我將得到「???」在delphi

+0

IRC是一個過時的協議,它不知道語言,字符集和unicode。 http://en.wikipedia.org/wiki/IRC#Character_encoding您可以使用XMPP或其他現代協議嗎? –

+0

「現在在IdIRC1PrivateMessage上我有'?'」你是什麼意思?哦,順便說一下,「unicode」是什麼意思?有六種Unicode格式。指定Indy版本也是一件好事。有時它變成重要的信息。也許獲得新的Indy版本:http://www.indyproject.org/Sockets/Download/Files/Indy10.EN.aspx –

+0

Indy版本:10.5.8.0。當我將在mIRC中發送消息時,例如'żźć',我將得到「???」在delphi – user2512579

回答

0

IRC協議本身沒有提供任何關於Unicode的規定。在適用的情況下,mIRC使用UTF-8實現Unicode(請參閱this article)。

TIdIRC本身不支持Unicode。但是,可以通過在連接後將TIdIOHandler.DefStringEncoding屬性設置爲IndyUTF8Encoding,或將全局IdGlobal.GIdDefaultTextEncoding變量設置爲encUTF8(默認設置爲encASCII),手動告訴TIdIRC使用UTF-8編碼/解碼數據。儘管(特別是在CTC/DCC運營期間),我不能保證它在任何情況下都能正常工作。

+0

謝謝你很多。其作品!!! – user2512579