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
然而,当我尝试的时候,我确实得到了Désçàui
ob_start();
echo 'Désçàui';
header("Content-Type: text/html; charset=utf-8");
ob_end_flush();
有帮助的专家吗?
PS。文件以标题/编码Unicode(Utf-8)保存在DW中。
发布于 2011-03-20 19:48:34
我不确定,但它可能是excel不能处理utf8(可能取决于版本)。但是它可以处理utf16,所以尝试转换字符集。这对我很有效(在excel2002中):
echo mb_convert_encoding('Désçàui','utf-16','utf-8');
发布于 2011-05-12 18:43:07
源http://www.mwasif.com/2007/5/download-data-csv-using-php/
解决方案对我很有效
丹麦人扎胡尔说,
2009年10月7日下午7:23
如果您的内容是UTF-8格式,则不需要转换编码。只需以UTF-8 BOM开头的头文件/输出流即可。
echo pack("CCC",0xef,0xbb,0xbf);
并且报头应包含编码UTF-8
header( "Content-type: application/vnd.ms-excel; charset=UTF-8" );
它将像charm一样工作,因为Excel将识别带有BOM字节的文件字符集。
发布于 2012-04-18 07:10:28
我不知道你是怎么生成excel文件的。但是,如果您是从HTML输出中执行此操作,则只需在开头添加以下内容:
<meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" />
问候
https://stackoverflow.com/questions/5368150
复制相似问题