php以excle格式导出mysql里数据乱码?!急!加分

来源:百度知道 编辑:UC知道 时间:2024/06/05 23:03:45
数据库是 utf8,因为数据库里都是繁体中文。
导出MYSQL数据时是乱码。
请给出一个可行的php导出excle的代码。
乱码是怎么回事?
是不是和excle版本有关 。
如果不是问题可能出在哪?
帮我解决了继续追加分,急,谢谢!!!

呵呵,本人刚刚处理好这个问题。
如果是在WINDOWS环境下,可以用如下代码试试:
<?php
ob_start();

$filename = dirname(__FILE__)."\words.xls";
$cols=array("A","B","C","D","E","F"); //EXCEL里的列
$rows=1000; //每个sheet最多处理的行数

$conn=mysql_connect("localhost","root","");
mysql_select_db("db01");
mysql_query("set names 'utf8'");

function replace_str($str="",$replace=" ")
{
$tmp=$str;
while(true)
{
$len=strlen($tmp);
$tmp=str_replace($replace.$replace,$replace,$tmp);
if(strlen($tmp)==$len) return $tmp;
}
}

$excel_app = new COM("Excel.application",null,CP_UTF8) or Die ("Did not connect"); //CP_UTF8 是关键

$Workbook = $excel_app->Workbooks->Open("$filename") or Die("Did not open $filename $Workbook