从PHP 从服务器下载Excel 乱码 怎么解决本人有一台linux服务器正在使用,CMS 系统是apache + PHP+Mysql 在php接口下载Excel 是正常的, 现在需要迁移到Window 2012上, 我安装了xampp软件,CMS 系统大致正常, 但是在php接口下载Excel 出现了类似htm的问题,请问有没有高手可以帮忙, 感谢

解决方案 »

  1.   

    windows的代码默认不是utf8,看看下载文件的编码格式
      

  2.   

    /**
     * 导出excel
     * @param  [type] $data   数据库查询列表, 
     * @param  [type] $fields 要导出的字段,数组格式入array('name','phone')
     * @return [type]         [description]
     */
    public static  function exportXls($data,$fields){
        ob_clean();
        header('Content-type:application/vnd.ms-excel;');
        header('Content-Disposition:attachment;filename=' . date('YmdHis') . '.xls');
        $title = array_values($fields);
        foreach($title as $t){
          echo iconv('UTF-8', 'GB2312', $t) . "\t";
        }    
        echo "\n";      
        foreach ($data as $d){  
          $item = array(); 
          foreach($fields as $f=>$v){
            $item[] =  iconv('UTF-8', 'GB2312', $d[$f]);
          } 
          echo implode("\t",$item)."\n";
          sleep(0);
        }
        unset($data,$item,$fields);
        exit;
        
    }
      

  3.   

    可以不用转码,windows是可以识别带BOM头的UTF-8
      

  4.   

    PHPExcel插件,可以导入表格,可以下载表格.我一直用这个,很不错