我正在研究波斯语的 CSV 导入/导出系统。
我已经为导出文件创建了脚本。因为我在 php 中使用了以下标头:
header('Content-Type: ' . $mime_type);
header('Content-Disposition: attachment; filename="'.$name.'"');
header("Content-Transfer-Encoding: binary");
header('Accept-Ranges: bytes');
header("Cache-control: private");
header('Pragma: private');
但是当我尝试使用fgetcsv
函数读取导出的 csv 文件或任何其他 csv 文件时,它会返回:
???? ?????? ????? ????? ? ???? ?????????? ?????? ?? ??? ????? ???? ??? ?????? ?????? ???
而不是波斯语字符串。我使用以下代码读取 csv 文件:
if (($handle = fopen($csvfile, "r")) !== FALSE) {
$max_line_length = defined('MAX_LINE_LENGTH') ? MAX_LINE_LENGTH : 10000;
$header = fgetcsv($handle, $max_line_length);
$header_colcount = count($header);
while (($row = fgetcsv($handle, $max_line_length)) !== FALSE) {
$row_colcount = count($row);
if ($row_colcount == $header_colcount) {
$entry = array_combine($header, $row);
$csv[] = $entry;
}
else {
error_log("csvreader: Invalid number of columns at line " . ($rowcount + 2) . " (row " . ($rowcount + 1) . "). Expected=$header_colcount Got=$row_colcount");
return null;
}
$rowcount++;
}
//echo "Totally $rowcount rows found\n";
fclose($handle);
}
谢谢