Heim  >  Artikel  >  Backend-Entwicklung  >  Was soll ich tun, wenn PHP MySQL mit verstümmelten Zeichen nach Excel exportiert?

Was soll ich tun, wenn PHP MySQL mit verstümmelten Zeichen nach Excel exportiert?

藏色散人
藏色散人Original
2020-08-31 10:08:502663Durchsuche

Lösung für den verstümmelten PHP-Export von MySQL nach Excel: Legen Sie zuerst die Zeitzone und die Header-Informationen fest. Löschen Sie dann den Puffer über „ob_end_clean();“, und stellen Sie schließlich die Tabelleninformationen ein.

Was soll ich tun, wenn PHP MySQL mit verstümmelten Zeichen nach Excel exportiert?

Empfohlen: „PHP-Video-Tutorial

PHP fragt die Datenbank ab, um Excel zu exportieren, und löst das verstümmelte Problem. Für den nativen Code sind keine Plug-Ins erforderlich.

Ich habe kürzlich ein Informationssystem geschrieben und Ich muss den Inhalt der Datenbank nach Excel exportieren

Ich werde meinen Code unten veröffentlichen, es ist kein PHPExcel-Plugin erforderlich

Systemanforderungen: php5.6+

<?php
date_default_timezone_set(&#39;PRC&#39;);//设置时区
 
/*设置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(&#39;YmdHis&#39;).".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[&#39;num&#39;]."\t"))."\t";
    $str2.= trim(iconv("UTF-8","GBK",$v[&#39;name&#39;]))."\t";
    $str2.= trim(iconv("UTF-8","GBK",$v[&#39;sex&#39;]))."\t";
    $str2.= trim(iconv("UTF-8","GBK",$v[&#39;xueyuan&#39;]))."\t";
    $str2.= trim(iconv("UTF-8","GBK",$v[&#39;grade&#39;]))."\t";
    $str2.= trim(iconv("UTF-8","GBK",$v[&#39;class&#39;]))."\t";
    $str2.= trim(iconv("UTF-8","GBK",$v[&#39;phone&#39;]))."\t";
    $str2.= trim(iconv("UTF-8","GBK",$v[&#39;time&#39;]))."\t\r\n";
}
echo $str2;
?>

Ich habe diese Codezeile am Anfang nicht hinzugefügt, Dies führt zu einer verstümmelten Ausgabe. Löschen Sie einfach den Puffer vor jeder Datengenerierung,

ob_end_clean();//清除缓冲区,避免乱码

Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn PHP MySQL mit verstümmelten Zeichen nach Excel exportiert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn