相关疑难解决方法(0)

如何在PHP中输出UTF-8 CSV,Excel将正确读取?

我有一个非常简单的事情,只输出一些CSV格式的东西,但它必须是UTF-8.我在TextEdit或TextMate或Dreamweaver中打开这个文件,它正确地显示了UTF-8字符,但是如果我在Excel中打开它,它就是这样做的傻事.这是我在文档的头部所得到的:

header("content-type:application/csv;charset=UTF-8");
header("Content-Disposition:attachment;filename=\"CHS.csv\"");
Run Code Online (Sandbox Code Playgroud)

除了Excel(Mac,2008)不想正确导入它之外,这一切似乎都具有预期的效果.Excel中没有选项可以"以UTF-8打开"或其他任何东西,所以......我有点恼火.

尽管有很多人遇到同样的问题,我似乎无法在任何地方找到任何明确的解决方案.我最看重的是包含BOM,但我无法弄清楚如何做到这一点.正如你在上面看到的那样,我只是提供echo这些数据,我不会写任何文件.如果我需要,我可以这样做,我不是因为此时似乎不需要它.有帮助吗?

更新:我尝试回显echo pack("CCC", 0xef, 0xbb, 0xbf);我刚刚从试图检测BOM的网站上提取的BOM.但Excel只会在导入时将这三个字符附加到第一个单元格,并且仍会混淆特殊字符.

php csv byte-order-mark utf-8

181
推荐指数
13
解决办法
31万
查看次数

标签 统计

byte-order-mark ×1

csv ×1

php ×1

utf-8 ×1