MySql中定义的存储过程:CREATE DEFINER=`root`@`localhost` PROCEDURE `proc_HZChatRecLog`(IN _Sender varchar(20), IN _SIP varchar(15), IN _Accepter varchar(20), 
  IN _AIP varchar(15), IN _Msg varchar(3000))
BEGIN
  SET _Msg=replace(_Msg, '&*', '');
  IF RTRIM(_Msg) <> '' THEN
   insert into TABHZChatLog(Sender, SenderIP, Accepter, AccepterIP, Msg, CreateTime) values 
   (_Sender, _SIP, _Accepter, _AIP, _Msg, Now());   
  END IF;
END
在查询分析器调用没有问题(主要是参数含中文):call proc_HZChatRecLog ('我们', 'ddfdf', '我们', '192.168.99.100', '我们');
在delphi中调用:procedure TForm1.Button1Click(Sender: TObject);
var
  a, b, c, d: string;
begin
  a := 'addd';
  b := '192.168.110.8';
  c := 'cccc';
  d := '192.168.100.243';  ADOStoredProc1.Parameters.Clear;
  ADOStoredProc1.ProcedureName := 'proc_HZChatRecLog';
  ADOStoredProc1.Parameters.Refresh;  ADOStoredProc1.Parameters.CreateParameter('_Sender', ftString, pdInput, 20, a);
  ADOStoredProc1.Parameters.CreateParameter('_SIP', ftString, pdInput, 15, b);
  ADOStoredProc1.Parameters.CreateParameter('_Accepter', ftString, pdInput, 20, c);
  ADOStoredProc1.Parameters.CreateParameter('_AIP', ftString, pdInput, 20, d);
  ADOStoredProc1.Parameters.CreateParameter('_Msg', ftString, pdInput, 3000, a);
  ADOStoredProc1.ExecProc;
end;
只要其中一个参数改成中文的,就有问题了。请问该如何解决