php生成csv乱码怎么办

php生成csv乱码是因为输出的csv格式文件没有BOM,其解决办法就是使用BOM标示字符编码,代码如“header(“Content-type:text/csv;charset=gb2312”);”。

php生成csv乱码是因为输出的csv格式文件没有BOM,其解决办法就是使用BOM标示字符编码,代码如“header(“Content-type:text/csv;charset=gb2312”);”。

php生成csv乱码怎么办

本文操作环境:windows7系统、PHP7.1版,DELL G3电脑

解决PHP 输出csv文件中文乱码

PHP 下载文( } , @ 0 J e件常采用字节流输出的方式。因此常用的i D B Z下载csv格式代码如下:

header("Content-Type: application/force-download");
heO L H ~ E N - P aader("Content-type:text/csv;charset=gb2312");
headeD t f e ^r("Content-Disposition:filenq = = _ 9 [ame=打开邮件导出".date("YmdHis").".csv");
echo "收件人邮箱,收件人姓名,发p \ L - $ v送时间\r";
ob_end_flush();
foreach($list as $rs) {
echo $rs->toemail.",".$rs->name.",".date('Y-m-d H:$ H +i:s',$rs->addtimO G deQ \ g Y)."\r"; flusr d T r o u s nh();
}
exit;

这样下载的csv文件使用记事本或者sublime text~ Y ] g 9 X等编辑器打开是正常的,但是使用excel打开就会乱码,原因是输出的csv格式文件没有BOM,BOM的说法很多,正常情况下,在PHP中是需要去除BOM的,不过csv文件需要使用BOM标示字符编码。

解决方式如下:

header("Content-Type: application/force-download");
header("Content-ty@ c N ; b U T )pe:text/csv;charset=gb2312");
header("Content-Disposition:fi( ( 8lename=打开邮件导出".? ? o F $date("YmdHis").".csv");
echo chr(0xEF)., ( ( u Hchr(0xBB).chr(0xBF);
echo "收件人邮箱,收件人姓名,发送时间\r";
ob_end_flush();
foreach($listd + C 6 P r E \ as $rs)
{
echo $rs->toemail.",".$rs-&_ L ] ( q 4 $ =gt;name.",".date('Y-m-d H:i:s',$rs->addO + @ dtimi e M % v { : -e)."\r";
flush();
}
exit;

由于Linux的换行符与? : . Y G L v { ]window的差别。如果} a ~ k上述代码在Linux服务器中有不好的反应,可将 “\rO @ P j t” 改为 “\r\n”。

推荐学习:《PHP视频教程》

以上就是php生成csv乱码怎么办的详细内容,更多请关注ph6 n 8 0 , ? j Ip中文网其它相关文章!

php中文网最新课程二维码

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

原创文章,作者:町子门户,如若转载,请注明出处:https://www.6fzz.com/12557.html

(0)
上一篇 2021年5月18日 上午9:47
下一篇 2021年5月18日 上午9:47

相关推荐

  • 如何在CentOS 8上安装Mono

    Mono是一个用于基于ECMA/ISO标准开发和运行跨平台应用程序的平台。 它是Microsoft .NET框架的开源实现。本教程介绍了如何在CentOS 8上安装Mono

    2021年11月4日
  • 四种产品创新思维

    当产品经理到高级产品经理阶段,已经会开始经过自己思考融入合理的产品创新了。到了产品总监阶段,产品创新思维就根深…

    2021年6月27日
  • 软回车快捷键是什么

    软回车快捷键是“SHIFT+ENTER”,该快捷键能实现换行,但是并不换段,即前后两段文字在WORD中属于同一“段”。

    2021年5月10日
  • InnoDB学习(七)之索引结构

    索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。可以将数据库索引和书的目录进行类比,通过书的目录我们可以快速查找到章节位置,如果没有目录就只能一页页翻书查找了。 索引数据结构 可以用于提升查询效率的索引结构很多,常见的有B树索引、哈希索引和B+树索引。接下 …

    编程学习 2022年1月4日
  • 使用Leaflet创建地图模块

    背景 最近需要为某单位开发地图展示系统,因此开始涉略和使用Leaflet这个轻量级地图库。 创建基础地图需要以下几步 引入相关js和css文件,创建基础地图 <div id=”map”></div> var map = L.map(“map”, { center: [29.758447, 121.6 …

    编程学习 2021年5月30日
  • uniapp 微信公众号授权问题

    @osc_u3ou7e46 你好,想跟你请教个问题:你好,博客团打不开了,看不到示例代码,请问授权在本地如何测试,我不知道那个微信的校验文件放在那儿,能指…

    编程学习 2021年5月15日
  • mysql 查询一张表某个字段 数据量重复次数最多的 前10条数据

    查询ip字段 数据重复最多的前10条 sql语句应该要这么写啊~!

    2021年5月15日
  • 从3个角度谈谈:什么是产品视角?

      俗话说,三流的产品经理做功能,二流的产品经理做系统,一流的产品经理做平台。虽然是一句调侃的话,但…

    2021年6月27日
  • form表单的默认行为

    1. action 提交到的url,如果不写action的话,提交表单将重新请求当前页面。如果此时写了method,将按method方法去请求对应的url。 2. method 请求方法,可选值为GET和POST。不填默认为GET请求。 3. 回车行为 输入input点击回车时,会调用type=su …

    编程学习 2022年1月4日
  • Speeding Up the AI Supercomputing Platform – Practice at Unisound

    Based on the Kubernetes open-source architecture, the Unisound team has developed the core features and successfully built an AI supercomputing platform.

    编程学习 2021年12月28日

发表评论

您的电子邮箱地址不会被公开。