Indy,IdTCPSever以utf = 8字符集发送数据

时间:2013-07-03 16:21:15

标签: delphi utf-8 indy10 tcpserver

转换字符串到utf-8时遇到问题。 我使用标准的Indy方法进行内部转换:

 AContext.Connection.IOHandler.writeln(Utf8Encode('ĄĘÓ'));

但客户端读取它们就像'???' - 3f 3f 3f in hex(我也使用WireShark检查过它)。

我使用Delphi XE和Indy 10。

非常感谢任何帮助。

〜ARTIK

1 个答案:

答案 0 :(得分:3)

我找到了解决问题的方法,我认为最简单的方法是使用如下代码:

uses
  IdGlobal;

begin
  aContext.Connection.IOHandler.DefStringEncoding := IndyTextEncoding_UTF8;
end;