如何在PHP中输出Excel可以正确读取的UTF-8 CSV?
我有一个非常简单的东西,它只是以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,因为我刚刚从尝试检测 BOM 的站点中提取了 BOM。但是Excel只是在导入时将这三个字符附加到第一个单元格,并且仍然会弄乱特殊字符。echo pack("CCC", 0xef, 0xbb, 0xbf);