[MySQL 5]Problem mit Sonderzeichen

ZeroEnna

Erfahrenes Mitglied
Hallo zusammen

Ich habe folgendes Problem. Ich habe eine Tabelle, aus der ich per Land Datensätze filtere (sprich Select * FROM daten WHERE land ='xy'). Nun findet es aber Länder die sonderzeichen enthalten nicht (z.B. Österreich).
Also, wenn ich z.B. das Query Select * FROM daten WHERE land ='Österreich' ausführe dann liefert mir es ein leeres Resultat zurück, obwohl ein Datensatz zu dem Land existiert.
Führe ich aber das indentische Query in phpMyAdmin aus, dann findet es den besagten Datensatz.
Also muss irgenwo auf dem weg von PHP zu MySQL das Ö verloren gehen.

Wisst ihr woran das liegen könnte.

Die Tabellen sind alle UTF-8 kodiert. Ich setzte MySQL 5 und PHP 5.2 ein.

Gruss
ZeroEnna
 
Hast Du den Datensatz "Österreich" mit PhpMyAdmin angelegt?
PhpMyAdmin sendet im ISO Zeichensatz.
Trage dann im PhpMyAdmin "Östereich" ein.

Gruß tyg3r
 
Dann würde ich mal einen INSERT von PHP aus schreiben.
Und anschließend abfragen. Verwende für INSERT und SELECT jeweils die gleiche Variable (Landname).

Wie kommt deine Selectabfrage zustande?
Eventuell nach Eingabe des Landes in einem Formular?
Könnte es sein, dass dein Browser nicht auf utf-8 steht? Bzw der falsche Header ausgegeben wird?

Du könntest auch mal alle Sätze auf dem Bildschirm ausgeben (also ohne WHERE) und dann mal schauen wie "Österreich" dargestellt wird.
 
Habs herausgefunden. Obwohl der Input eigentlich auch UTF-8 kodiert ist, musste ich in PHP trotzdem noch einmal utf8_encode anwenden. An das einfachste habe ich hier natürlich wieder mal erst am Schluss gedacht.

Gruss
ZeroEnna
 
Zurück