Gnu*_*fo1 9 php csv excel utf-8
我正在使用以下头命令生成csv文件:
header("Content-type: text/csv; charset=utf-8; encoding=utf-8");
header('Content-Disposition: attachment; filename="products.csv"');
Run Code Online (Sandbox Code Playgroud)
如果我在Excel 2007中打开文件,那么只要出现一个£符号,我就会获得£.但是,如果我在Notepad ++中打开文件,那么英镑符号看起来很好; 类似地,如果我将内容类型更改为text/plain并删除附件标题,则在浏览器中正确显示井号.
一个奇怪的事情是,如果我转到Notepad ++中的"格式"菜单,看起来该文件编码为"没有BOM的UTF-8".如果我将其更改为"以UTF-8编码",然后保存文件,则在Excel中正确显示井号.有没有办法使PHP文件以这种编码保存?
Ign*_*ams 12
0xEF 0xBB 0xBF发出CSV数据前的输出.如果处理它,请不要忘记将内容长度标题增加3.
header('Content-type: text/csv;');
header('Content-Length: ' + strlen($content) + 3);
header('Content-disposition: attachment;filename=UK_order_' . date('Ymdhis') . '.csv');
echo "\xef\xbb\xbf";
echo $content;
exit;
Run Code Online (Sandbox Code Playgroud)