Online-Beispiel
bearbeitet von
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:
~~~ PHP
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>";
}
}
}
}
~~~
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