我有一个非常简单的东西,只输出一些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在导入时只是将这三个字符附加到第一个单元格中,仍然会弄乱特殊字符.