php-excel-reader - problem mit UTF-8

Ich bin mit php-excel-reader 2.21 für die Konvertierung XLS-Datei in CSV. Ich schrieb ein einfaches Skript, das zu tun, aber ich habe einige Probleme mit unicode-Zeichen. Es muss nicht die Rückgabe von Werten aus einigen Zellen.

Zum Beispiel, dass es keine Probleme mit Zelle Inhalt ceník položek habe aber Probleme mit nákup, VÝROBCE, PÁS, HRUBÝ,NÁKLADNÍ und einige andere. In diesen Zellen gibt es einen leeren Wert ("").

Hier ist der code-snippet, das ich für die Konvertierung:

<?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 die Zelle und Zeile Indizes beginnt 1. Irgendwelche Vorschläge?

Kann jemand sagen, dass Die Antwort ist mehr anwendbar, oder der richtige Weg? Herr Cyphers Oder @thuclh die Antwort ist ideal?

InformationsquelleAutor Viktor Stískala | 2010-09-08

Schreibe einen Kommentar