Hallo zusammen,
ich würde gerne ein Unicode CSV-File verarbeiten.
So weit so gut.
irgendwie komme ich aber auf keinen "grünen Zweig"....
zuerst habe ich es so versucht:
function decodeUnicode($str) {
$ret = "";
$x = strlen($str);
for ($i = 0; $i < $x; ++$i) {
if ($i % 2) {
$ret .= substr($str, $i, 1);
}
}
return $ret;
}
$fh = fopen($CSVFilename,"r");
while($line=fgetcsv($fh,null,"\t","\"")){
$CSVData = array();
$i = 0;
foreach ($line as $data){
$data = trim(decodeUnicode($data));
$data = trim(preg_replace("/^\"(.*)\"$/", "\\1", $data));
$CSVData[$i] = $data ;
$i ++;
}
print_r($CSVData);
}
Die Ausgabe ist ok, nur leider werden hier anscheinend manche " übergangen, bzw statt der eigtl 4 Spalten erhalte ich teilweise 5....
evtl jemand hier, der meinen Fehler sieht?
Danke im Voraus!
mit
$data = file_get_contents($CSVFilename,"r");
$data = iconv("UNICODEBIG", "ASCII",$data);
erhalte ich immer "Detected an illegal character in input string in"
Das komische: mein OpenOffice zeigt das File korrekt an :s