首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编写CSV文件编码问题

编写CSV文件编码问题
EN

Stack Overflow用户
提问于 2014-08-08 02:03:59
回答 1查看 903关注 0票数 1

我在PHP中有一个CSV字符串,被mb_detect_encoding检测为UTF8。此字符串被写入文件。当我在文本编辑器(程序员记事本)中打开它时,编辑器说它是UTF8 No Mark,当我将编码更改为ANSI时,它在Excel中正确打开。我想用ANSI编写这个文件,这样在用Excel打开它之前,我不需要在文本编辑器中转换它。试图使用以下方法:

  • utf8_decode($xhtml)
  • 图标(“UTF-8”,"Windows-1252",$xhtml)
  • iconv("UTF-8","ISO-8859-1",$xhtml)
  • mb_convert_encoding($xhtml,"ISO-8859-1","UTF-8")

使用utf8_decode,特殊字符显示为问号。凯特夫和mb_convert_encoding在第一个特殊人物的时候剪掉了丝杠。知道如何将此字符串放入在Excel中打开的文件中吗?

EN

回答 1

Stack Overflow用户

发布于 2015-12-16 14:29:25

因此,您可能导出了您可爱的数据库,完美地存储在UTF-8编码中,然后在Excel中打开csv,然后看到一堆看上去很疯狂的字符,在那里应该是?

好吧,这里有一个修正:在文件中添加一个Byte-Order-Mark。Excel只是非常需要它..。

代码语言:javascript
复制
function customer_download($file) {
    header('Content-Type: application/force-download');
    header('Content-Description: File Transfer');
    header('Content-disposition: attachment; filename="'.$file.'"');
    @include_once('file_get_contents.php');
    $csv = @file_get_content($file);
    die(chr(0xEF).chr(0xBB).chr(0xBF).$csv);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25195056

复制
相关文章

相似问题

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