Umlaute bei Tabellenabfrage

Alles, was PHP betrifft, kann hier besprochen werden.

Umlaute bei Tabellenabfrage

Postby pauli » 18. December 2009 21:29

Ich möchte eine Suchfunktion mit php für meine mysql-Tabellen realisieren.

Dabei habe ich Probleme damit, nach Umlauten suchen zu lassen.

Ich nutze folgende Abfrage:

Code: Select all
$sql="SELECT * FROM `Benutzerdaten` WHERE `daten_eintrag` LIKE '%".$Suchwert."%'";
$query=mysql_query($sql, $db);


Nun tritt das Problem auf, dass wenn ich nach einem ö in Verbindung mit einem anderen Buchstaben suche, ich keine Übereinstimmungen finde.

Suche ich nach einem einzelnen ö oder aber einer Buchstabenkombination mit einem anderen Umlaut werden mir alle Ergebnisse korrekt angezeigt.

Kann mir jemand einen Tipp geben, wo ich nach dem Fehler suchen muss?

PS.: gebe ich statt $Suchwert zum beispiel Rö an, bekomme ich alle 6 Ergebnisse. Nutze ich den Formularwert in dem auch Rö steht gibt es kein Ergebnis.
pauli
 
Posts: 22
Joined: 21. April 2004 21:55

Re: Umlaute bei Tabellenabfrage

Postby Wiedmann » 18. December 2009 21:43

Dabei habe ich Probleme damit, nach Umlauten suchen zu lassen.

PS.: gebe ich statt $Suchwert zum beispiel Rö an, bekomme ich alle 6 Ergebnisse. Nutze ich den Formularwert in dem auch Rö steht gibt es kein Ergebnis.

In welcher Kodierung schickt denn dein Browser das "Rö", und in welcher Kodierung würde das direkt im Script stehen?
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Re: Umlaute bei Tabellenabfrage

Postby pauli » 19. December 2009 09:46

also die HTML aus der das Formular kommt ist ISO.....

Wo seh ich, welche Codierung das Script nutzt?
pauli
 
Posts: 22
Joined: 21. April 2004 21:55

Re: Umlaute bei Tabellenabfrage

Postby Wiedmann » 19. December 2009 12:37

Wo seh ich, welche Codierung das Script nutzt?

Kann ich dir so auch nicht sagen. Mein Editor zeigt das in der Statuszeile an. Sollte man aber zumindest beim Abspeichern festlegen können.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Re: Umlaute bei Tabellenabfrage

Postby sili » 31. December 2009 00:18

Das beste ist, wenn du alles auf unicode (=utf8) umstellst und nach jedem mysql_connect() direkt mysql_query("SET NAMES 'utf8'"); machst. Damit bist du (sogut wie) alle Probleme mit Umlauten los ;)
sili
 
Posts: 67
Joined: 15. March 2003 16:05


Return to PHP

Who is online

Users browsing this forum: No registered users and 3 guests