MySQL을 Excel로 내보내는 잘못된 PHP에 대한 솔루션: 먼저 시간대와 헤더 정보를 설정한 다음 "ob_end_clean();"을 통해 버퍼를 지운 다음 마지막으로 콘텐츠를 쿼리하고 데이터베이스 데이터를 내보냅니다.
추천: "PHP 비디오 튜토리얼"
PHP는 데이터베이스를 쿼리하여 Excel을 내보내고 잘못된 문제를 해결합니다. 네이티브 코드에는 플러그인이 필요하지 않습니다
최근에 정보 시스템을 작성했고 Excel로 데이터베이스 내용을 내보내야 합니다
아래에 코드를 게시할 예정이며 phpexcel 플러그인은 필요하지 않습니다
시스템 요구 사항: php5.6+
<?php date_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();//清除缓冲区,避免乱码
위 내용은 PHP가 잘못된 문자를 사용하여 Excel을 내보내기 위해 mysql을 내보내는 경우 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!