首页 > 后端开发 > php教程 > 用header导出excel 乱码求破

用header导出excel 乱码求破

WBOY
发布: 2016-06-23 13:59:03
原创
1173 人浏览过

代码如下

<?php    header("Content-type:application/vnd.ms-excel");    header("Content-Disposition:attachement;filename=khxx_".date("Ymd").".xls");      include("db.php");      $sql="SELECT * FROM `khxx`";      $query=mysql_query($sql);      echo "时间\t类型\t区域\t姓名\t具体地址\t联系电话\t证件号\t套餐\t时长\t赠送\t金额\t经办人\t帐号\t备注\n";       while ($rs=mysql_fetch_array($query)){        echo "{$rs['dates']}\t{$rs['type']}\t{$rs['area']}\t{$rs['names']}\t{$rs['add']}\t{$rs['phone']}\t{$rs['no']}\t{$rs['set']}\t{$rs['dur']}\t{$rs['give']}\t{$rs['moneys']}\t{$rs['attn']}\t{$rs['username']}\t{$rs['rem']}\n";            }?>
登录后复制


回复讨论(解决方案)

你从数据库读出时就已经乱码了

你从数据库读出时就已经乱码了
我的网页 和 库用的都是utf-8
导出的excel直接 打开是乱码
选成utf-8就正常 想问怎么能导出时就转成excel 默认编码 话说 excel 默认什么编码来着

截个图贴上来

无论是 gbk 还是 utf-8 excel 都能接受,但同时含有两者则就乱码了

要把utf8转成gbk或gb2312

要把utf8转成gbk或gb2312
只是不知道怎么写

这是 gbk 的


这是 utf-8 的


这是两者都有的

这是 gbk 的


这是 utf-8 的


这是两者都有的

用iconv() 导出的是空表
不用导出是乱码
数据库里用的是utf-8码

是header乱码还是内容乱码,如果是内容乱码,说明你没有set names utf8

是header乱码还是内容乱码,如果是内容乱码,说明你没有set names utf8

应该是header乱码 没调用数据库内容输出也是乱码

你截个图就那么难吗?

你截个图就那么难吗?
截了呀。。。 在7楼最下

<?php    header("Content-type:application/vnd.ms-excel");    header("Content-Disposition:attachement;filename=".$_GET['keys']."".date("Ymd").".xls");        echo "时间\t类型\t区域\t姓名\t具体地址\t联系电话\t证件号\t套餐\t时长\t赠送\t金额\t经办人\t帐号\t备注\n";?>
登录后复制

你是 excel2003 ?
那么你只能使用 gbk 字符集
echo "时间\t类型\t区域\t姓名\t具体地址\t联系电话\t证件号\t套餐\t时长\t赠送\t金额\t经办人\t帐号\t备注\n";
改写为
echo iconv('utf-8', 'gbk', "时间\t类型\t区域\t姓名\t具体地址\t联系电话\t证件号\t套餐\t时长\t赠送\t金额\t经办人\t帐号\t备注\n");

$query=mysql_query($sql); 
前面加上
mysql_query('set names gbk');

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板