Pete: PHP Mal wieder UTF-8: Suchbegriff mit Umlauten nicht gefunden

Beitrag lesen

Hi,

Ich habe eine Text-DB(UTF-8) darin steht das Wort Düsseldorf.

Also sollte das doch auch mit einem Suchformular gefunden werden. Dem ist nicht so.

Jetzt wollte ich eigentlich meine Frage hier anbringen, aber nun ist mir die Lösung schon klar und ich poste das nur, weil es vielleicht einem anderen hilft, der dieses Problem mal hat.

Das Problem war, dass ich eine Abfrage drin hatte wie:

if(strtolower($line_ar[$ark])== $_GET['cityzip'] ){print_r($line_ar);break;}

$line_ar ist die jeweilige Zeile in der TEXT-DB die ich mittels explode zerlegt hatte. Nun bin ich eigentlich davon ausgegegangen, wenn der Name($_GET['cityzip']) im test klein geschrieben wird, müsste er auch gefunden werden. IRRTUM. Nach Fehlersuche an falscher Stelle und schon bereit hier zu fragen fand ich heraus: kleinschreiben bei UTF-8 reicht nicht aus unter den Umständen, ich musste tatsächlich auch noch:

if(strtolower($line_ar[$ark])== strtolower($_GET['cityzip']) ){print_r($line_ar);break;}

$_GET['cityzip'] mit strtolower behandeln, obwohl bereits klein geschrieben. Ich verstehe es zwar nicht und normalerweise wäre es mir auch gar nicht aufgefallen, weil ausserhalb der Testumbgebung ich die Usereingabe eh noch formatiert hätte, aber es wundert mich doch enorm.

Pete