greggy80
Mitglied
Hallo,
ich habe ein Problem mit der UTF-8 Kodierung und einer Suchanfrage an eine Datenbank.
Ich habe in der Datenbank UTF-8-Daten abgelegt (Umlaute oder chinesische Zeichen kriegen da "intern" dann so merkwürdige kryptische Zeichen), da ich auch nicht wusste, ob es möglich ist, die Datenbank anzuweisen, UTF-8 zu interpretieren beim schreiben...
Nun starte ich über php eine Suchanfrage:
Sinn der Suchanfrage ist, dass die Groß-/Kleinschreibung ignoriert wird.
Leider klappt das ca. gar nicht, denn SQL kriegt es nicht gebacken, die Umlaute oder sonst welche Zeichen zu verkleinern.
Ich hab jetzt schon ne Runde lang überlegt, wie man das Problem umgehen könnte, aber alle Versuche sind gescheitert.
Hat jemand schon mal damit Erfahrung gemacht und ein good practice anzubieten?
ich habe ein Problem mit der UTF-8 Kodierung und einer Suchanfrage an eine Datenbank.
Ich habe in der Datenbank UTF-8-Daten abgelegt (Umlaute oder chinesische Zeichen kriegen da "intern" dann so merkwürdige kryptische Zeichen), da ich auch nicht wusste, ob es möglich ist, die Datenbank anzuweisen, UTF-8 zu interpretieren beim schreiben...
Nun starte ich über php eine Suchanfrage:
PHP:
$db->open(); //Erstma unwichtig, wie... der Zugriff funktioniert
$sql = "SELECT id_bilder, bezeichnung FROM bilder WHERE LOWER(bezeichnung) LIKE LOWER('%".utf8_encode("Übersicht")."%') ORDER BY id_bilder"; //uft8_encode verwendet, da Quellcode-Datei in ISO-Schieß-Mich-Tot verfasst wurde. Normalerweise kommt die Suchanfrage von einer Query, die bereits in UTF-8 Kodierung vorliegt.
$res = mysql_query($sql);
while ($row = mysql_fetch_array($res))
{
echo $row["id_bilder"] . " " . $row["bezeichnung"] . "<br/>";
}
$db->close();
Leider klappt das ca. gar nicht, denn SQL kriegt es nicht gebacken, die Umlaute oder sonst welche Zeichen zu verkleinern.
Ich hab jetzt schon ne Runde lang überlegt, wie man das Problem umgehen könnte, aber alle Versuche sind gescheitert.
Hat jemand schon mal damit Erfahrung gemacht und ein good practice anzubieten?