archivieren Ich habe diese Funktion, um eine CSV zu importieren.Kann nicht richtig in csv in PHP
public function csv_to_array($filename, $delimiter = ',', $enclosure = '"')
{
$header = null;
$data = array();
if (($handle = fopen($filename, 'r')) !== false)
{
$all = 0;
while(($row = fgetcsv($handle, 0, $delimiter, $enclosure)) !== false)
{
$i=0;
foreach($row as $string) {
$row[$i] = utf8_encode($string);
$i++;
}
if(!$header) {
$header = $row;
}else{
$data[] = array_combine($header, $row);
}
$all++;
}
fclose($handle);
}
return $data;
}
Einige Dateien, die in ANSI Encoding kommen, funktionieren nicht mit str_getcsv oder fgetcsv. Ich habe auch versucht, sie mit
mb_convert_encoding($line, 'Windows-1252', 'UTF-8');
oder mit iconv, utf8_encode, ...
In anderen Projekten zunächst zu konvertieren ich nie über dieses Problem gestolpert. Normalerweise führt das oben beschriebene, aber diesmal nicht. Das gesamte System und die Datenbank sind auf utf-8 eingestellt. Gibt es eine bekannte Arbeit, wie kann ich mein Problem lösen? Ich bin hilflos :(
Wie viele Problemzeichen gibt es? Wenige oder viele? –
Ich hatte dieses Problem auch, ich überprüfte einfach, ob es utf8 ist: ['schnipsel'] (https://git.io/vicjj) – CodeBrauer
' ANSI Encoding' ist zu generisch. Sie müssen absolut sicher sein, dass die Eingabecodierung "Windows-1252" ist und nicht etwas anderes. – apokryfos