我有一个PHP文件,可生成CSV文件(下载)和HTML文件
当我尝试使用BOM将文件编码为UTF-8时,CSV文件将呈现为UTF-8,但HTML文件将留下2行空格。
当我尝试将文件编码为没有BOM的UTF-8时,CSV文件将不会呈现为UTF-8,从而导致无意义的代码。
我试图添加声明:
echo "\xEF\xBB\xBF";
但是,无法正确读取文件。
附:我没有使用任何功能:fopen,readfile,...
。
以下是我的CSV文件标题:
header("Content-type: application/octet-stream");
header("Content-encoding: UTF-8");
header("Content-dispositon: attachment; filename=name.csv");
有谁能告诉我如何解决这两个问题?我只能解决其中任何一个。
答案 0 :(得分:0)
尝试,无需BOM:
header("Content-type: application/octet-stream; charset=utf-8");
header("Content-dispositon: attachment; filename=name.csv");
检查数据是否真的是用UTF-8编写的,如果您使用的是latin1数据库或ISO / ANSI PHP脚本,请使用utf8_encode
转换echo
/ {{{{1}之前的内容1}}数据。