0

我正在研究波斯语的 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);
}

谢谢

4

0 回答 0