微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP生成的csv文件在Excel 2007中显示英镑(£)的英镑

我正在使用以下头文件命令生成csv文件
header("Content-type: text/csv; charset=utf-8; encoding=utf-8");
header('Content-disposition: attachment; filename="products.csv"');

如果我在Excel 2007中打开文件,那么我可以在任何一个£标志出现的地方得到.但是,如果我在记事本中打开该文件,那么英镑的标志会显得很好同样,如果我将content-type更改为text / plain,并删除了附件标题,那么在浏览器中会正确显示井号.

一个奇怪的事情是,如果我在记事本中进入“格式”菜单,看来该文件是以“UTF-8无BOM”编码的.如果我将其更改为“UTF-8编码”,则保存文件,在Excel中正确显示井号.有没有办法使文件PHP编码保存?

在发送CSV数据之前输出0xEF 0xBB 0xBF.如果处理它,不要忘记将内容长度标题增加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;

原文地址:https://www.jb51.cc/php/131513.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐