> 백엔드 개발 > 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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿