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


<?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");仍然只得到垃圾值。谁能帮助我到底应该怎么做,以便无论用户是用英语还是印地语存储数据,数据都能正确显示。

而不是做回显,你已经像这样转换它,它会起作用。

print chr(255) . chr(254) . mb_convert_encoding($html, 'UTF-16LE', 'UTF-8');

最新更新