首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >php标题excel和utf-8

php标题excel和utf-8
EN

Stack Overflow用户
提问于 2011-03-20 19:21:37
回答 8查看 85.9K关注 0票数 22
代码语言:javascript
复制
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

代码语言:javascript
复制
ob_start();
echo 'Désçàui';
header("Content-Type:   text/html; charset=utf-8");
ob_end_flush();

有帮助的专家吗?

PS。文件以标题/编码Unicode(Utf-8)保存在DW中。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2011-03-20 19:48:34

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

代码语言:javascript
复制
echo mb_convert_encoding('Désçàui','utf-16','utf-8');
票数 20
EN

Stack Overflow用户

发布于 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字节的文件字符集。

票数 24
EN

Stack Overflow用户

发布于 2012-04-18 07:10:28

我不知道你是怎么生成excel文件的。但是,如果您是从HTML输出中执行此操作,则只需在开头添加以下内容:

<meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" />

问候

票数 20
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5368150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档