php下载utf8编码的csv,用excel打开乱码

栏目: PHP · 发布时间: 5年前

内容简介:服务器上有一个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));

……
……

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

網絡社會之崛起

網絡社會之崛起

曼威·柯司特 / 夏鑄九、王志弘 等 / 唐山 / 2000-11 / NT$550

本書解釋了今日重塑世界的兩股強大但相互衝突的潮流:全球化與認同。資訊科技的革命以及資本主義的再結構已經引動了網絡社會,並帶來了策略,除經濟行為的全球化、工作的彈性化與不穩定,以及真實的虛擬文化。但是,伴隨著資本主義的轉化與國家主義的消亡而來的,是集體認同的表達以火力十足的方式竄起。它們挑戰了全球化中的文化單一性以及對於生活、環境的控制。曼威.柯司特在本書中描繪了社會運動的根源、目標以及效果,包括了......一起来看看 《網絡社會之崛起》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具