php下载excel乱码的解决办法:1、在下载的过程中取消任何非文件信息的输出;2、将输出的excel格式和后缀名保存一致;3、用“ob_clean”方法清空缓冲区。
创新互联专注于市中网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供市中营销型网站建设,市中网站制作、市中网页设计、市中网站官网定制、微信小程序服务,打造市中网络公司原创品牌,更为您提供市中网站排名全网营销落地服务。
推荐:《PHP视频教程》
编写代码,使用PHP下载一个我已经上传好的Excel时出现这个错误:
强行打开则出现乱码。
搜索了一下,有两个解释:
1、在下载的过程中不要 输出任何非文件信息,比如 echo log信息。 否则下载后的文件无法打开,提示格式错误或者文件被破坏。
2、 输出的excel格式一定要和后缀名保存一致,否则会提示格式错误或者文件被破坏。
于是我更改了点击下载的a标签的位置,检查了excel后缀名,都没有作用。
后来搜索到可能是BOM头的问题,因为打开乱码的文件,前面都会有“0xEF 0xBB 0xBF”三个字符。而PHP无法识别BOM头。
BOM头的解释:在utf-8编码文件中BOM在文件头部,占用三个字节,用来标示该文件属于utf-8编码。它平时是一串隐藏的字符,许多软件可以识别并忽略BOM头,而PHP则不能。
因此,可以将需要上传的文件用editplus、ultraedit或者WINHEX等软件去掉BOM头之后,再上传。已经下载下来的则去掉BOM头再打开。
另外,也可以在你的readfile、fread,即输出前加上一句代码:ob_clean() 来清空缓冲区。
新闻标题:php下载excel乱码怎么办
网站链接:https://www.cdcxhl.com/article20/cjhpco.html
成都网站建设公司_创新互联,为您提供网页设计公司、App设计、微信公众号、搜索引擎优化、品牌网站设计、外贸建站
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联