如何解决如何使用 Zend 将 UTF-8 BOM 包含到 CSV 导出中
我可以选择将项目中的一些数据导出到 .csv 文件,我已经在响应标题中将字符集设置为 UTF-8,但是,Excel 不会通过双击打开为 UTF-8文件,并且我希望该过程尽可能方便用户使用,因此我希望避免手动导入它。
从我搜索到的内容来看,我需要在文件的开头包含 UTF-8 BOM (0xEF,0xBB,0xBF) 字符,但我真的不知道如何用 PHP 做到这一点,这里是我当前的代码:
$response = $this->getResponse();
$headers = $response->getHeaders();
$headers->addHeaderLine('Content-Type','text/csv charset=UTF-8');
$headers->addHeaderLine('Content-Disposition',"attachment; filename=\"{$_GET['file']}\"");
$headers->addHeaderLine('Accept-Ranges','bytes');
$headers->addHeaderLine('Content-Length',strlen($data_file));
$response->setContent($data_file);
return $response;
解决方法
我的代表尚未发表评论,但您可能正在此处寻找此解决方案:https://stackoverflow.com/a/49561209/3323348
另一方面,如果您的目标是 Excel 用户,并且您希望使整个导入体验尽可能简洁,那么您可能需要考虑创建 .xlsx 文件而不是 CSV(借助 {{ 3}} - 请务必阅读有关如何填充工作表 PHPOffice spreadsheet)的内容。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。