我有一个非常简单的东西,它只能以CSV格式输出一些内容,但必须是UTF-8。我在TextEdit或TextMate或Dreamweaver中打开了此文件,它正确显示了UTF-8字符,但是如果在Excel中打开它,则是在做这种愚蠢的事情。这是我文档开头的内容:
header("content-type:application/csv;charset=UTF-8");
header("Content-Disposition:attachment;filename=\"CHS.csv\"");
除了Excel(Mac,2008)不想正确导入之外,这一切似乎都具有预期的效果。Excel中没有为我提供“以UTF-8格式打开”或其他任何选项的选项,所以…我有点生气。
尽管很多人都遇到相同的问题,但我似乎在任何地方都找不到解决此问题的明确方法。我最常看到的是包含BOM,但我无法确切地知道如何做到这一点。正如您在上面看到的那样,我只是在echo
读取这些数据,没有写入任何文件。如果需要的话,我可以这样做,我只是没有,因为在这一点上似乎并不需要。有什么帮助吗?
更新:我尝试回显BOM表,因为echo pack("CCC", 0xef, 0xbb, 0xbf);
它是从试图检测BOM的站点提取的。但是,Excel在导入时只是将这三个字符追加到第一个单元格中,并且仍然弄乱了特殊字符。