内容简介:服务器上有一个utf8编码的csv文件,经过php下载到本地之后,用excel打开,发现乱码了。原因是这个csv文件没有BOM头。BOM头是放在UTF-8编码的文件的头部的三个字符(0xEF 0xBB 0xBF,即BOM)占用三个字节,用来标识该文件属于UTF-8编码。所以在php里面下载utf8编码的csv的时候,需如下方代码所示,添加BOM头:
服务器上有一个utf8编码的csv文件,经过 php 下载到本地之后,用excel打开,发现乱码了。原因是这个csv文件没有BOM头。
BOM头是放在UTF-8编码的文件的头部的三个字符(0xEF 0xBB 0xBF,即BOM)占用三个字节,用来标识该文件属于UTF-8编码。
所以在php里面下载utf8编码的csv的时候,需如下方代码所示,添加BOM头:
$downloadUrl = '/home/nemo/firDir/test.csv';
$fileName = 'test.csv';
ini_set('memory_limit', '128M');
header('Content-type: application/octet-stream;charset=utf-8');
header('Content-Disposition: attachment; filename=' . $fileName);
ob_end_clean();
echo chr(0xEF).chr(0xBB).chr(0xBF); // 输出BOM头
readfile($downloadUrl);
因为php不能识别bom头,当需要读取用户上传的文件内容时,也需要删除bom头。
$filePath = '/home/nemo/firDir/test.txt'; $data = file_get_contents($filePath); $data = trim($data, chr(0xEF) . chr(0xBB) . chr(0xBF)); …… ……
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
The Zen of CSS Design
Dave Shea、Molly E. Holzschlag / Peachpit Press / 2005-2-27 / USD 44.99
Proving once and for all that standards-compliant design does not equal dull design, this inspiring tome uses examples from the landmark CSS Zen Garden site as the foundation for discussions on how to......一起来看看 《The Zen of CSS Design》 这本书的介绍吧!