php 标头 excel 和 utf-8

2021-12-28 00:00:00 utf-8 php
ob_start();

echo 'Désçàui';

header("Content-Type:   application/vnd.ms-excel; charset=utf-8");
header("Content-type:   application/x-msexcel; charset=utf-8");
header("Content-Disposition: attachment; filename=Test.xls"); 
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false); 

ob_end_flush();

我在 excel 文件中得到的是 Désçà ui

What I'm getting in the excel file is Désçàui

但是,当我尝试时,我确实得到了 Désçàui

However, I do get Désçàui when I try

ob_start();
echo 'Désçàui';
header("Content-Type:   text/html; charset=utf-8");
ob_end_flush();

任何帮助专家?

附注.文件以标题/编码 Unicode(Utf-8) 保存在 DW 中.

PS. The file is saved in DW with Title/Encoding Unicode(Utf-8).

推荐答案

我不确定,但可能是 excel 无法处理 utf8(可能取决于版本).但它可以处理 utf16,所以尝试转换字符集.这对我有用(在 excel2002 中):

I'm not sure, but it may be that excel can not handle utf8(may depend on the version). But it can handle utf16, so try converting the charset. This works for me(in excel2002):

echo mb_convert_encoding('Désçàui','utf-16','utf-8');

相关文章