MySQL: Abfrage von unicode-Entitäten

Ich muss das Wort Lämmönmyyntipalvelut aus der Datenbank. Nur in der Datenbank, die Sie in ein Feld, dessen Wert wurde ein PHP-array umgewandelt in JSON über die Funktionen json_encode() und so werden die Sonderzeichen scrabled in hex-unicode.

Also meine Abfrage ist

SELECT * FROM table WHERE (services LIKE '%Lämmönmyyntipalvelut%')

Keine Ergebnisse. Keine überraschung. Nächste Abfrage mit Sonderzeichen umgewandelt:

SELECT * FROM table WHERE (services LIKE '%L\u00e4mm\u00f6nmyyntipalvelut%')

Keine Ergebnisse und ich Frage mich, warum. Weiter getestet habe ich die Abfrage nur für spezielle Zeichen:

SELECT * FROM table WHERE (services LIKE '%\u00e4%')

Gefunden, was angeblich zu finden. Als Nächstes habe ich begonnen das hinzufügen von Sachen (L zu Anfang), um zu sehen, wo es schief ging:

SELECT * FROM table WHERE (services LIKE '%L\u00e4%')

Keine Ergebnisse. Ein weiterer test:

SELECT * FROM table WHERE (services LIKE '%\u00e4mm%')

Gefunden, was angeblich zu finden.

Also mein Fazit ist, dass der umgekehrte Schrägstrich ist irgendwie Durcheinander, aber ich verstehe nicht, wie?

EDIT:

Genaue Inhalt der Leistungen Bereich:

["Neuvonta","L\u00e4mm\u00f6nmyyntipalvelut",
"Mets\u00e4-\/energiapuunkorjuupalvelut"]

Genauen Abfrage:

SELECT id, uid, company_name, services, logo FROM rekisteroeidy_toimijaks 
WHERE 
    (services LIKE '%L\u00e4mm\u00f6nmyyntipalvelut%' AND 
    services LIKE '%Mets\u00e4-\/energiapuunkorjuupalvelut%') 
ORDER BY company_name ASC

Fügte ich einige Zeilenumbrüche zu helfen, die Lesbarkeit zu verbessern.

Zeigen Sie das json_encode()d Ergebnis.
Du meinst den Inhalt der services-Bereich?
Ja, vielleicht kann jemand erkennen, wo das problem ist.
Hinzugefügt von Bearbeitung.
Von dem, was ich sehe, Vince ' s Antwort sollte dann funktionieren, wenn Sie verdoppelt sich alle backslash `\`

InformationsquelleAutor Simon Josef Kok | 2012-11-08

Schreibe einen Kommentar