Nico R.: Online-Beispiel

Beitrag lesen

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