php导出非乱码非乱序 奇葩问题求大神挫进来帮帮小弟

php中文网
发布: 2016-06-23 13:54:55
原创
876人浏览过



上面第一个图是导出后的效果图,第二张是数据库实际数据,细心的哥们就发现导出的图后三位全部变为0,这神马情况啊

求大神指点
代码如下:

 <?phpdefine('NOROBOT', true);define('CURSCRIPT', 'charge');require_once './include/common.inc.php';header("Content-type:application/vnd.ms-excel;charset=utf-8");header("Content-Disposition:attachment;filename=充值卡.xls");$page = $page ?: 1; $results = array(); $condition = '';		  		 echo   "被充值手机号"."	";  		 echo   "充值卡序列号"."	";  		 echo   "充值金额"."	"; 		 echo   "实充额度"."	";				 echo   "充值时间"."	";$query = $mysqli->multi_query('CALL UP_User_GetCardInfo("'.$condition.'","'.$page.'","900000")')  or die($mysqli->error);$query = $mysqli->store_result();		 while ($record = mysqli_fetch_array($query, MYSQLI_BOTH)){		$phone = $record['phone'];		$cardid = $record['cardid'];			$charge = $record['charge'];			$achieve = $record['achieve'];			$chgdate =  $record['useDate'];	 								echo   "
"; 		echo   $phone."	";		echo   $cardid."	"; 		echo   $charge."	"; 		echo   $achieve."	"; 		echo   $chgdate."	"; 				}if(is_object($query)) 	$query->free_result();$mysqli->next_result();   ?>
登录后复制

落笔AI
落笔AI

AI写作,AI写网文、AI写长篇小说、短篇小说

落笔AI 41
查看详情 落笔AI

回复讨论(解决方案)

没人!

用另外一种方法也是一样的效果,代码如下:

 <?php//iconv("utf8","gb2312",$v)。数据库用的UTF8,导出csv时如不转换excel打开中文将显示乱码(文本正常)require_once './include/common.inc.php';function exportToCsv($csv_data, $filename = 'export.csv') {    $csv_terminated = "
";    $csv_separator = ",";    $csv_enclosed = '"';    $csv_escaped = "\";    // Gets the data from the database    $schema_insert = '';    $out = '';    // Format the data    foreach ($csv_data as $row)    {        $schema_insert = '';        $fields_cnt = count($row);        //printr($row);        $tmp_str = '';        foreach($row as $v)        {            $tmp_str .= $csv_enclosed.str_replace($csv_enclosed, $csv_escaped . $csv_enclosed, iconv("utf8","gb2312",$v)).$csv_enclosed.$csv_separator;        } // end for                $tmp_str = substr($tmp_str, 0, -1);        $schema_insert .= $tmp_str;        $out .= $schema_insert;        $out .= $csv_terminated;    } // end while    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");    header("Content-Length: " . strlen($out));    header("Content-type: text/x-csv;charset=utf-8");    header("Content-Disposition:filename=$filename");#header('Content-Disposition: attachment;filename="'.iconv('utf-8', "gb2312", $filename));    echo $out;}#$title = array("uid","username","company");#$title = $_SESSION["exp_title"];$title = array();$field = array();foreach ($_SESSION["exp_title"] as $key => $val){  $title[] = $key;  $field[] = $val;}#$query = $mysqli->query("select uid,username,phone from ccna_members limit 10") or die($mysqli->error);#$query = $mysqli->multi_query("select * from ccna_members limit 10")  or die($mysqli->error);$query = $mysqli->multi_query($_SESSION["exp_sql"])  or die($mysqli->error);$query = $mysqli->store_result();//$csv_data = array(array('uid', 'username'));//所有记录就存这啦$csv_data = array(array());//压入表头,将字段放到第一行for ($i=0; $i < count($field); $i++) {	  $csv_data[0][$i]= $field[$i];}while($row = mysqli_fetch_array($query,MYSQLI_BOTH)){	//array_push($csv_data, array($row[0],$row['username']));		$row_array = array();	for ($i=0; $i < count($title); $i++) {		#array_push($row_array,iconv("utf-8","gb2312",$row[$title[$i]]));		array_push($row_array,$row[$title[$i]]);	}	array_push($csv_data,$row_array);}exportToCsv($csv_data,$_SESSION["exp_filename"].".csv");?>
登录后复制

echo   $cardid." ";
改为
echo   “‘$cardid ";

echo   $cardid." ";
改为
echo   “‘$cardid ";


还是一样,不行。谢谢你的回答

怎么可能,你产生的就是文本文件,只不过后缀不同罢了


我加你扣扣可以吗?

怎么可能,你产生的就是文本文件,只不过后缀不同罢了



可以我改成echo   "$cardid ";    还是不行,不知道为什么。

 "’$cardid "; 
有个单引号
是也在想:字太小可能看不清

 "’$cardid "; 
有个单引号
是也在想:字太小可能看不清



谢谢。 结贴给分

?成字符串就可以了。

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号