千家信息网

php如何导出csv设置编码

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍php如何导出csv设置编码,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!php导出csv设置编码的方法:1、使用iconv方法将导出的内容转码由utf-8转为
千家信息网最后更新 2026年11月01日php如何导出csv设置编码

这篇文章主要介绍php如何导出csv设置编码,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

php导出csv设置编码的方法:1、使用iconv方法将导出的内容转码由utf-8转为gb2312;2、使用mb_convert_encoding方法转换编码。

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

  我们之前都是使用PHPexcel导出我们的一些数据的,由于Phpexcel对导出超出1万条数据会导至超时和内存暴涨,后来我们就改用数据导出成csv格式的。

相信很多朋友们在用PHP导出csv文件时都遇到各种乱码问题。网上搜了一堆都是用加BOM的方式来解决,这个方法我试了好多次在我们的测试和生产环境下都不管用,不知道是为什么。

  后来使用iconv方法将导出的内容转码由utf-8转为gb2312,奇迹终于出来了,可以正常显示了,不过经同事发现,我们导出400多条数据里竟然少了几十条数据(我是一条一条转码然后拼接出出的csv字符串)。于是到度娘上找iconv转码失败的问题,发现iconv原来是有BUG的,对于某些中文字转不了,转不了还不能跳过然后返回空值,是这个原因导致少了几十条数据,同时给出了用mb_convert_encoding 这个方法来转换。于是稍作修改就改成了用mb_convert_encoding方法了,在本地机测试非常正常,代码如下:

$str = mb_convert_encoding($str,'gb2312');

但发布到线上导出数据还是一堆乱码,但与之前不作转码时的乱码还不一样,说明mb_convert_encoding方法是起作用的。查了一下mb_convert_encoding方法有三个参数$from_encoding,第三个参数是可选参数,网上大多数的示例都是不使用第三个参数的,第三个参数默认也是null值。于是我把它用起来改成

$str = mb_convert_encoding($str,'gb2312','utf-8');

在本地开发机上测试是正常的,发布到生产环境,吼吼,一切正常了。

以上是"php如何导出csv设置编码"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

方法 数据 参数 编码 三个 内容 乱码 环境 测试 篇文章 问题 utf-8 生产 万条 代码 价值 作用 兴趣 内存 原因 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技公司起名 科技互联网企业 互联网科技公司华为 互联网科技媒体 小马过河互联网科技 广州互联网络科技有限公司 壕鑫互联网络科技 菲比寻常互联网科技 丰台科技园 互联网公司 青岛中康互联网医疗科技有限公司 广州优美互联网科技 汽车互联网创新科技园 南山科技园互联网公司有哪些 互联网还是高科技吗 云南省自由互联网科技有限公司 厦门江牛科技互联网 吉林省码上互联网科技电话 上海万顺科技互联网有限公司招聘 北京天晋互联网科技有限公司 互联网科技创新创业项目 互联网科技园 盈实互联网科技 互联网金融科技委员会 互联网和高科技公司 中国的互联网科技企业的崛起 互联网时代科技改变生活 世界互联网领先科技成果获奖 保险科技服务互联网营销体系 国大互联网教育科技有限公司薪资 恒生科技互联网指数十大成分股
0