我是用 delphi ADOConnection1 连接的mysql手工再phpmyadmin中添加中文数据 一切正常但是在delphi中添加就中文就出现 ???? 全是??
我的Mysql数据库和表名的 格式均是 gb2312_chinese_ci数据库名称是 xdfdb 表名 是xdf_list 我是用 wamp5测试的我添加数据的过程的代码是var   d:string;
s:string;
begin
//////showmessage(inttostr(combobox1.ItemIndex));
//d:=Date;
d:=getdate();
with DataModule2.adoquery1 do
begin
  close;
  sql.clear;
  ///sql.Add('SET NAMES GBK');
  sql.add('insert into xdf_list (name,age,type,score,school,date,re) values(:name,:age,:type,:score,:school,:date,:re)');
  parameters.paramByName('name').Value:=Edit1.Text;
  parameters.paramByName('age').Value:=Edit2.Text;
  parameters.paramByName('type').Value:= s;
  parameters.paramByName('score').Value:=Edit3.Text;
  parameters.paramByName('school').Value:=Edit4.Text;
  parameters.paramByName('date').Value:=d;
  parameters.paramByName('re').Value:=Edit5.Text;
  try
  ExecSQL;
  finally
  Close;
end;
end;
end;求解决办法~~~

解决方案 »

  1.   

    我有个程序是连接php的,希望对你有用,
    procedure TFWebBrown.Button3Click(Sender: TObject);//这个是连接数据库的
    begin
         try
          ADOConn.Close;
             ADOConn.ConnectionString:=('DRIVER={MySQL ODBC 3.51 Driver};'+
                         'SERVER=12.255.231.47;'+
                         'DATABASE=sb0;'+
                         'USER=s40;'+
                         'PASSWORD=3;'+
                         'OPTION=3;');      ADOConn.Open;
          except
               application.MessageBox('无法连接数据库服务器.请与管理员联系','提示',MB_ICONINFORMATION);
          end ;
          ADOQuery1.Close();
       ADOQuery1.SQL.Text := 'SET NAMES GB2312;';
       ADOQuery1.ExecSQL();   //当将此句注释掉的话,存入数据库的内容变为乱码
       ADOQuery1.Close();
       ADOQuery1.SQL.Text := 'SET character_set_client = GB2312;';
       ADOQuery1.ExecSQL();   //当将此句注释掉得话,从数据库中读取的内容为乱码
       ADOQuery1.Close();
       ADOQuery1.SQL.Text := 'SET character_set_results = GB2312;';
       ADOQuery1.ExecSQL();   //当将此句注释掉的话,存入数据库的内容变为乱码
       ADOQuery1.Close();
       ADOQuery1.SQL.Text := 'SET character_set_connection = GB2312;';
       ADOQuery1.ExecSQL();end;
    下面是返回记录的。
        ADOQuery1.Close;
        ADOQuery1.SQL.Clear;
        ADOQuery1.SQL.Add('select * from lady_article where id>700  order by id desc');
        ADOQuery1.Open;
      

  2.   

    1、安装MySQL是使用GDK字符集。
    2、在DELPHI连接MySQL的连接字符串:
       Provider=MSDASQL.1;Password=%s;Persist Security Info=True;User ID=root;Data Source=EMCDB;Initial Catalog=%s;charset=gb2312   主要是最后这个charset=gb2312作用。