DELPHI XE7 UDP发送中文命令乱码
DELPHI7的代码:
PROCEDURE SENDCMDTOSCREEN( CONST P :INTEGER; CONST S :STRING);
VAR
SIP, S1 :STRING;
CH :ANSISTRING;
UDPClient: TIdUDPClient;
BEGIN
SIP := LINEPLC[P].SIP;
CH := S;
UDPClient := TIdUDPClient.Create( nil);
UDPClient.Host := SIP;
UDPClient.Port := 8869;
UDPClient.ReceiveTimeout := 50;
UDPClient.Send( CH);
SLEEP( 80);
UDPClient.Active := FALSE;
UDPClient.Free;
END;
DELPHI XE7的代码:
PROCEDURE SENDCMDTOSCREEN( CONST P :INTEGER; CONST S :STRING);
VAR
SIP, S1 :STRING;
CH :ANSISTRING;
UDPClient: TIdUDPClient;
BEGIN
SIP := LINEPLC[P].SIP;
CH := UTF8TOANSI( S); //只有这个地方不同
UDPClient := TIdUDPClient.Create( nil);
UDPClient.Host := SIP;
UDPClient.Port := 8869;
UDPClient.ReceiveTimeout := 50;
UDPClient.Send( CH);
SLEEP( 80);
UDPClient.Active := FALSE;
UDPClient.Free;
END;
给同一个服务端发送命令,DELPHI7显示正常,但XE7发送的就显示乱码,请问各位大侠应该怎么处理,谢谢。