如何在将数据导出到.xls(EXEL)文件时显示带有UTF-8字符的数据

问题描述 投票:1回答:1
<?php
$month=$_REQUEST["month"];
include 'include/myfunc.php';
$sql = "SELECT * FROM announcement WHERE month='".$month."'";
$result = mysqli_query($con,$sql);
$status="";
$html='<table><tr><td>Date</td><td>Announcement Detail</td><td>Tag</td><td>Amount</td><td>Status</td><td>File Name</td></tr>' ;

while( $row = mysqli_fetch_array($result) )
{
    if ($row['status']=="active") {
      $status = "निरकर्त";
    }else{
        $status = "लंबित";
    }

    $html.='<tr><td>'.$row['date'].' '.$row['month'].' '.$row['year'].'</td><td>'.$row['announcement_detail'].'</td><td>'.$row['tag'].'</td><td>'.$row['amount'].'</td><td>'.$status.'</td><td>'.$row['file'].'</td></tr>' ;
}
$html.= '</table>';
header('Content-Type:application/xls');
header('Content-Disposition:attachment;filename=report.xls');

echo $html;
?>

[导出时显示的是这样的निरकरà¥à¤¤我尝试放入header("content-type:application/xls;charset=UTF-8");仍然只得到垃圾值。谁能帮助我我应该怎么做,以便无论天气用户使用英语还是印地文存储数据,数据都能正确显示。

php export-to-excel
1个回答
0
投票

不是执行回声,而是像这样转换它,它将起作用。

print chr(255) . chr(254) . mb_convert_encoding($html, 'UTF-16LE', 'UTF-8');
© www.soinside.com 2019 - 2024. All rights reserved.