千家信息网

php如何导出csv设置编码

发表于:2025-11-16 作者:千家信息网编辑
千家信息网最后更新 2025年11月16日,这篇文章主要介绍php如何导出csv设置编码,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!php导出csv设置编码的方法:1、使用iconv方法将导出的内容转码由utf-8转为
千家信息网最后更新 2025年11月16日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安全错误 数据库的锁怎样保障安全 海岛纪元第一个开的服务器叫什么 上海信息网络技术报价 n720 打印服务器固件 网络安全运营平台管理是干什么的 公用接口通信服务器 软件开发不需要原料 北京文档软件开发哪家强 网络安全与初创公司合作 网络安全不难 网络安全厂商产品对比 学生网络技术咨询成交价 网络安全有哪些方面知识 软件开发的项目里程碑和成果 数据库采用的数据模一般有 查询数据库两条数据的差值 网络系统管理比赛服务器配置 完美世界服务器等级上限 为什么光遇服务器会出现错误 北京明运互联网科技公司 软件开发人员从业条件 服务器安全狗厂家 饥荒联机版断开服务器怎么回事 怎么管理远程独立服务器 车载软件开发工作环境 顺义区正规软件开发价格优惠 北京朝阳区网络安全整改通知书 族谱结构 数据库设计 黑客学网络技术 国内好的服务器商 软件开发工程师状况
0