2014-08-27

Indy IdUDPServer/IdUDPClient 接收傳送中文字

透過 Indy 套件的 IdUDPServer / IdUDPClient 收發訊息時,英文基本上一定是沒啥問題,但遇到傳送中文訊息,以Indy的預設編碼傳送後接收顯示為亂碼,很明顯是編碼出了狀況,測試的環境為Win7 + XE4,TextEncoding的功能參數必須 uses IdGlobal 才會正常,最初測試時試了半天找不到正確的參數,只好去 IdGlobal.pas 翻一下,找到這個:

















在使用 IdUDPServer / IdUDPClient 收發時,下列兩種方式都可以正常傳送顯示中文,以IdUDPClient為例,IdUDPServer 也適用:

測試環境:

  • Windows 7
  • Delphi XE4 測試版


uses IdGlobal;

..............

IdUDPClient1.Send(Edit1.Text, IndyTextEncoding_UTF8);

or

GIdDefaultTextEncoding := encUTF8;
IdUDPClient1.Send(Edit1.Text);


沒有留言: