php下载utf8编码的csv,用excel打开乱码
服务器上有一个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)…