我用mysql网站上提供的mysqlodbc驱动,版本号为3.5.1
连接字符串为
  rt:=SQLConfigDataSource(0, 4, 'MySQL ODBC 3.51 Driver',
            'DSN='+DSN + chr(0) +
            'DATABASE='+dbname + chr(0) +
            'SERVER='+SERVERIP+chr(0) +
            'UID='+dbuser + chr(0) +
            'PWD='+dbpassword+ chr(0)+
            );
安装时,mysql的默认字符集选为gbk。
可以连接上数据库,但是取出的汉字全都变为?请各位大侠帮帮忙

解决方案 »

  1.   

    试试用Unicode组件看看...
    http://www.tntware.com/delphicontrols/unicode/
      

  2.   

    delphi没用过不太清楚,你自己查下是哪个命令吧
      

  3.   

    总算解决了,要用到TNT的控件,在每次查询前,要先执行
        qry1.SQL.Clear;
        qry1.SQL.Add('SET CHARACTER SET GBK');
        qry1.ExecSQL;
    取出来的数据要要TntUnicode控件来显示,才能正常显示出来。
      

  4.   

    我也遇到了这个问题,困扰了好几天了
    请问搂主:数据库的连接,查询都用TNT的控件吗?
    还是只是数据的显示用TNT的控件?
    另外,你的程序里面qry1是哪个控件?
    谢谢