最近在用php开发一个网页,导出csv格式文件,为什么都是乱码呢?把代码贴出来,大家看看 header("Content-type:application/vnd.ms-excel;charset=gb2312");
header("Content-Disposition:file=fox.xls");
header("Content-Type:text/html;Charset=gb2312");//避免输出乱码
$map['userId'] = $this->uid;
$file = $this->uid.".txt";
$filename = iconv('utf-8','gb2312',$file);
$path = "f:\\".$filename;
$link = mysql_connect("localhost","root","")or die("不能连接数据库".mysql_error());
$db_selected = mysql_select_db("mobilesns",$link); $userId = $this->uid;
$friend = "select FriendId from mobilesns.sns_user_friend where UserId = ".$userId;
$sqlfriend = mysql_query($friend);
$num_friend = mysql_num_rows($sqlfriend);
$head = "姓名,昵称,电子邮件地址,手机,QQ,家庭所在省,家庭所在市\n";
$txt = $head;
if(file_put_contents($path ,$txt) === false) {
echo "写入文件 【".$file."】 失败";
echo "<a href='foxmail'>返回</a>";
exit;
}
echo "写入文件 【".$file."】 成功.";
echo "写入的内容为:";
echo "<a href=".$path.">下载这个文件</a> ";
echo "<a href='foxmail'>返回</a>";
这是为什么呢?求教
header("Content-Disposition:file=fox.xls");
header("Content-Type:text/html;Charset=gb2312");//避免输出乱码
$map['userId'] = $this->uid;
$file = $this->uid.".txt";
$filename = iconv('utf-8','gb2312',$file);
$path = "f:\\".$filename;
$link = mysql_connect("localhost","root","")or die("不能连接数据库".mysql_error());
$db_selected = mysql_select_db("mobilesns",$link); $userId = $this->uid;
$friend = "select FriendId from mobilesns.sns_user_friend where UserId = ".$userId;
$sqlfriend = mysql_query($friend);
$num_friend = mysql_num_rows($sqlfriend);
$head = "姓名,昵称,电子邮件地址,手机,QQ,家庭所在省,家庭所在市\n";
$txt = $head;
if(file_put_contents($path ,$txt) === false) {
echo "写入文件 【".$file."】 失败";
echo "<a href='foxmail'>返回</a>";
exit;
}
echo "写入文件 【".$file."】 成功.";
echo "写入的内容为:";
echo "<a href=".$path.">下载这个文件</a> ";
echo "<a href='foxmail'>返回</a>";
这是为什么呢?求教
$db_selected = mysql_select_db("mobilesns",$link);
在这句的后面加上一句:
mysql_query("set names gb2312");