PHP-Excel-Reader - Problem mit UTF-8

Ich benutze PHP-Excel-Reader 2.21 zum Konvertieren von XLS-Dateien in CSV. Ich habe ein einfaches Skript dafür geschrieben, aber ich habe einige Probleme mit Unicode-Zeichen. Es werden keine Werte aus einigen Zellen zurückgegeben.

Zum Beispiel hat es keine Probleme mit dem Zelleninhaltceník položek aber habe Probleme mitnákup, VÝROBCE, PÁS, HRUBÝ,NÁKLADNÍ und einige andere. In diesen Zellen wird ein leerer Wert "").

Hier ist das Code-Snippet, das ich für die Konvertierung verwende:

<?php    
set_time_limit(120);    
require_once 'excel_reader2.php';    
$data = new Spreadsheet_Excel_Reader("cenik.xls", false, 'UTF-8');    

$f = fopen('file.csv', 'w');    
for($row = 1; $row <= $data->rowcount(); $row++)    
{    
    $out = '';    
    for($col = 1; $col <= $data->colcount(); $col++)    
    {    
        $val = $data->val($row,$col);

        // escape " and \ characters inside the cell    
        $escaped = preg_replace(array('#”#u', '#\\\\#u', '#[”"]#u'), array('"', '\\\\\\\\', '\"'), $val);    
        if(empty($val))    
            $out .= ',';    
        else    
            $out .= '"' . $escaped . '",';    
    }
    // remove last comma (,)    
    fwrite($f, substr($out, 0, -1));    
    fwrite($f, "\n");
}
fclose($f);

?>

Beachten Sie, dass der Zellen- und Zeilenindex bei 1 beginnt. Vorschläge?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage