我想将带有井号的一些数据导出到CSV文件,并添加BOM以正确表示磅。当我写到php输出流php://output
时,我遇到了这种情况,BOM被忽略了,所以在文件中没有这3个字节。有趣的是,如果您复制BOM字符串(类似\xef\xbb\xbf\xef\xbb\xbf
),前三个字节将被忽略,而在文件中将只有最后3个字节。
这仅用于在输出流中写入。当我尝试在真实文件中写入时,所有工作都按预期进行。
编辑: 澄清我的问题。也许有人知道它为什么这么有效?如何在没有拐杖的情况下解决问题,例如重复的BOM字符串
编辑: 我正在使用Symfony 2.8 StreamedResponse。所以代码就像
一样$f = fopen('php://output', 'r+');
fwrite($f, "\xef\xbb\xbf\xef\xbb\xbf"); // only 3 bytes will exists
// other code. fputcsv(...) .. fflush($f)
我正在使用https://hexed.it/
查看的文件