我有一个非常简单的东西,只是以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只是将这三个字符附加到第一个单元格,并仍然会弄乱特殊字符。