php生成csv乱码怎么办

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

php生成csv乱码怎么办

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

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

PHP 下载文件常采用字节流输出的方式。因此常用的下载csv格式代码如下:

header("Content-Type: application/force-download"); header("Content-type:text/csv;charset=gb2312"); header("Content-Disposition:filename=打开邮件导出".date("YmdHis").".csv"); echo "收件人邮箱,收件人姓名,发送时间"; ob_end_flush(); foreach($list as $rs) { echo $rs->toemail.",".$rs->name.",".date('Y-m-d H:i:s',$rs->addtime).""; flush(); } exit;

登录后复制

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

立即学习“PHP免费学习笔记(深入)”;

解决方式如下:

header("Content-Type: application/force-download");header("Content-type:text/csv;charset=gb2312");header("Content-Disposition:filename=打开邮件导出".date("YmdHis").".csv");echo chr(0xEF).chr(0xBB).chr(0xBF);echo "收件人邮箱,收件人姓名,发送时间";ob_end_flush();foreach($list as $rs){   echo $rs->toemail.",".$rs->name.",".date('Y-m-d H:i:s',$rs->addtime)."";   flush();}exit;

登录后复制

由于Linux的换行符与window的差别。如果上述代码在Linux服务器中有不好的反应,可将 “” 改为 “”。

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

以上就是php生成csv乱码怎么办的详细内容,更多请关注【创想鸟】其它相关文章!

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

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2515220.html

(0)
上一篇 2025年3月5日 15:41:18
下一篇 2025年3月5日 15:41:26

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • php中几次方怎么表示

    php中几次方的表示方法:首先创建一个PHP文件;然后创建两个变量;最后使用pow()函数求$x的$n次方,并将结果保存在$res变量中即可。 本文操作环境:windows7系统、PHP7.1版,DELL G3电脑 php求一个数的N次方 …

    2025年3月5日 编程技术
    100
  • php如何只输出日期

    php只输出日期的方法:首先打开数据库;然后设计好数据库的时间字段类型;最后使用strtotime()函数输出日期即可。 本文操作环境:windows7系统、PHP7.1版,DELL G3电脑 这是设计数据库的了时间字段类型 数据库的时间数…

    2025年3月5日 编程技术
    200
  • php中的die是什么意思

    php中的die是一种用于输出一条消息并退出当前脚本的函数,该函数是exit()函数的别名,die函数的语法是“die(status)”,其参数status规定在退出脚本之前写入的消息或状态号。 本文操作环境:windows7系统、PHP7…

    2025年3月5日
    200
  • php怎么修改图片上传大小

    php修改图片上传大小的方法:1、找到php的配置文件php.ini,然后修改“post_max_size =12M”;2、在文件或图片上传代码前面加上“ini_set(‘file_uploads’,’O…

    2025年3月5日
    200
  • php json怎么转成数组

    php json转成数组的方法:首先创建一个PHP示例文件;然后在PHP变量中存储JSON数据;最后通过json_decode函数将JSON编码的字符串转换为数组即可。 本文操作环境:windows7系统、PHP7.1版,DELL G3电脑…

    2025年3月5日
    200
  • php trait用法是什么

    php trait是一种代码复用技术,为PHP的单继承限制提供了一套灵活的代码复用机制,其使用语法如“trait ezcReflectionReturnInfo {function getReturnType() {/*1*/}&#8230…

    2025年3月5日
    200
  • 怎么查看php是否安装curl

    查看php是否安装curl的方法:首先在PHP环境下新建文件“phpinfo.php”;然后在浏览器访问该文件,如果看到“cURL support”为”enabled“即表示安装了curl。 本文操作环境:windows7系统、PHP7.1…

    2025年3月5日
    200
  • php定义数组有哪些方法

    定义数组的方法:1、使用“array(值1,值e2…)”语句;2、使用“array(key1=>值1,key2=>值2….)”语句;3、使用“$a[key1]=值1;$a[key2]=值2;……

    2025年3月5日
    200
  • php如何判断数组有几个值

    在php中,可以使用count()函数来判断数组有几个值;该函数可以对数组中的元素个数进行统计,并返回元素数目,语法格式为“count(array)”,其参数array表示要计数的数组,使用时只需将数组传入array即可。 本教程操作环境:…

    2025年3月5日
    200
  • php rename中文乱码怎么办

    php rename中文乱码的解决办法:首先打开相应的PHP代码文件;然后通过“iconv(“GBK”,”UTF-8″,$a);”方法将GB2312更改为GBK即可。 本文操作环境:windo…

    2025年3月5日
    200

发表回复

登录后才能评论