php导出mysql到excel乱码怎么办

发布时间:2024-03-30 点击:90
php导出mysql到excel乱码的解决办法:首先设置时区以及head头信息;然后通过“ob_end_clean();”清除缓冲区;接着设置表格信息;最后查询内容导出数据库数据即可。
推荐:《php视频教程》
php查询数据库导出excel并且解决乱码问题,原生代码无需插件
近日写一个信息系统,需要把数据库的内容导出到excel
下面把我的贴出我的代码,不需要phpexcel插件
系统要求:php5.6
<?phpdate_default_timezone_set('prc');//设置时区 /*设置head头信息*/ob_end_clean();//清除缓冲区,避免乱码header("content-type:application/vnd.ms-excel;charset=utf-8");header("accept-ranges:bytes");header("content-disposition:attachment;filename="."导出excel的名字".date('ymdhis').".xls");header("pragma:no-cache");header("expires:0"); $str = $str2 = null;/*设置表格信息*/$str.= "序号"."\\\\t";$str.= "学号"."\\\\t";$str.= "姓名"."\\\\t";$str.= "性别"."\\\\t";$str.= "学院"."\\\\t";$str.= "年级"."\\\\t";$str.= "班级"."\\\\t";$str.= "手机号"."\\\\t";$str.= "报名时间"."\\\\t\\\\r\\\\n";$info = iconv("utf-8","gbk",$str);echo $info; /*查询内容导出数据库数据*/$con = new mysqli("localhost", "root", "password", "detabase");if (!$con) { die(mysqli_error()) ;}//$sql = " select * from bmxx";//$res = mysqli_query($con, $sql); mysqli_query($con,"set names utf8");//解决数据库中有汉字时显示在前台出现乱码问题$result = mysqli_query($con,"select * from `bmxx`"); while($row = mysqli_fetch_assoc($result)){ $list[] = $row;}mysqli_free_result($result);mysqli_close($con);$co = 1;foreach($list as $v){ $str2.= trim($co )."\\\\t"; $str2.= trim(iconv("utf-8","gbk","\\\\t".$v['num']."\\\\t"))."\\\\t"; $str2.= trim(iconv("utf-8","gbk",$v['name']))."\\\\t"; $str2.= trim(iconv("utf-8","gbk",$v['sex']))."\\\\t"; $str2.= trim(iconv("utf-8","gbk",$v['xueyuan']))."\\\\t"; $str2.= trim(iconv("utf-8","gbk",$v['grade']))."\\\\t"; $str2.= trim(iconv("utf-8","gbk",$v['class']))."\\\\t"; $str2.= trim(iconv("utf-8","gbk",$v['phone']))."\\\\t"; $str2.= trim(iconv("utf-8","gbk",$v['time']))."\\\\t\\\\r\\\\n";}echo $str2;?>一开始没有加这行代码,导致输出乱码。在每次生成数据之前,清除一下缓冲区就好了、
ob_end_clean();//清除缓冲区,避免乱码

如何解决ajax php 中文乱码
腾讯云服务器配置方案
腾讯云服务器怎么挂载分盘
已经按照你们官网一文为什么无法收取到西部数码验证邮件或优惠通
今日头条是如何构建用户生命周期的?
江苏云服务器哪家好
域名种类怎么划分 域名级别有哪些
哪家有高防御服务器