Hallo Rolf,
Nein. Wenn ich deine Seite aufrufe, sehe ich im Netzwerk-Tab:
csv_upload_fetch_1.php:
<h1>db_array</h1><pre>array(2) { [0]=> string(8) "Schuster" [1]=> string(7) "Müller" } </pre><h1>csv_array</h1><pre>array(3) { [0]=> array(1) { [0]=> string(6) "B�cker" } [1]=> array(1) { [0]=> string(9) "Schlosser" } [2]=> bool(false) } </pre>
Ich habs gerade mal im Chrome getestet, den verwendest du ja vermutlich. Dort sieht der Response in der Tat wie bei dir aus. Aber im Firefox steht dort:
db_array
array(2) { [0]=> string(8) "Schuster" [1]=> string(7) "Müller" }
csv_array
array(3) { [0]=> array(1) { [0]=> string(6) "Bäcker" } [1]=> array(1) { [0]=> string(9) "Schlosser" } [2]=> bool(false) }
Nun kommt beides am Ende aufs Gleiche raus. Ein String-Vergleich liefert wegen der fehlerhaften Umlaute jeweils nicht 100%. Ich hab die csv_upload_fetch_1.php jetzt mal um die Vergleichsfunktion erweitert:
if($csv = fopen("csv_upload.csv", 'r')) {
$db_array = array();
$db_array[] = "Schuster";
$db_array[] = "Bäcker";
$csv_array = array();
while(!feof($csv)) {
array_push($csv_array, fgetcsv($csv, null, ","));
}
echo "<h1>db_array</h1>";
echo "<pre>";
var_dump($db_array);
echo "</pre>";
echo "<h1>csv_array</h1>";
echo "<pre>";
var_dump($csv_array);
echo "</pre>";
for($i=0; $i<count($csv_array); $i++) {
for($j=0; $j<count($db_array); $j++) {
if(is_array($csv_array[$i])) {
similar_text(strtolower($csv_array[$i][0]), strtolower($db_array[$j]), $prozent);
echo $db_array[$j]." / ".$csv_array[$i][0]." = ".$prozent."<br>";
}
}
}
}
Das Ergebnis:
Schuster / Bäcker = 42.857142857143
Bäcker / Bäcker = 76.923076923077
Schuster / Schuster = 100
Bäcker / Schuster = 40
Wie könnte ichs hinbekommen, dass - egal welcher Browser zum Einsatz kommt - Bäcker mit Bäcker verglichen wird?
Bei mir ist das default_charset auf UTF-8 gesetzt, bei Dir auch?
In der Netzwerk-Konsole? Ja, sowohl im FF als auch im Chrome.
Schöne Grüße
Nico