$conn=odbc_connect("Driver={SQL Server};Server=".$ser.";Database=".$db,$user,$pass);
$sql='select  *  from subcompany';
$result=odbc_exec($conn,$sql);
 
$row= odbc_fetch_row($result);$field=odbc_num_fields($result);while(odbc_num_rows($result))
{
$myarray[] = odbc_fetch_array($result);
}  
 foreach($myarray as $key=>$val)
 {
  $id= $val['id'];
  $phone=$val['phone'];
  $insert='insert into subcompany (phone) values(\''.$phone.'\')';
  mysql_connect('localhost:3306','root','***');
  mysql_select_db('test');
  $bool= mysql_query($insert);
    
  echo '<br/>成功否:';
  echo $bool;
  break;
 }
添加到mysql后 都是乱码
类似这个:  ¾Ó̩¡¼Ò¾ÓÔÚÏß³£ÖÝ£ºÖÐÐĵ꣺0519-85193708

解决方案 »

  1.   

    mssql里面的文字编码是什么?
    插入到mysql之前要用mysql_query('set names GBK');设置mysql的编码和mssql的一样
      

  2.   

    你试过手动导入导出么,就是先将SqlServer中的表导出为csv文件,再导入mysql表中,我记得当时我是试过一次的,也出现了乱码问题,后来反复试了几次,发现时在mysql中选择文字编码时不能用utf-8,用gbk就正常了,
    用代码转换的话,除了1楼说的mysql_query()要设置之外,还要使用iconv()函数对要处理的数组中的每一项都进行编码转换,
    至于inconv的用法,查手册