Webseiten ISO-8859-1 ---> utf-8

51%

Cadet 4th Year
Registriert
Apr. 2008
Beiträge
102
Eigentlich funktioniert ja alles prima, aber eben nicht so ganz: Wenn ich eine DBabfrage mit LIKE mache, worin Umlaute vorkommen, dann werden diese Suchbegriffe nicht gefunden.
Bei mir rennt alles über ISO (Webseite und die Kollation der MYSQL-Verbindung), der MySQL-Zeichensatz des Servers ist auf utf8. Tja, so isses nun mal.
Verwende Netbeans, Seiten mit PHP; JS; jQeuery

Wie sieht es denn mit einer Umstellung aus, welcher Aufwand erwartet mich?
Die Webseiten im utf8-Format zu speichern: werden die Umlaute automatisch angepasst oder ist nachträglich Handarbeit angesagt?
Werden Formulareingaben (mit Umlauten) richtig ausgewertet bzw in der DB gespeichert oder muss man da in PHP utf-8 encoden...decoden?
Hab da schon paar testseiten laufen lassen, die Ergebnisse haben aber nicht wirklich überzeugt (seh da noch keine gemeinsame Struktur). Was sagt Ihr dazu, hat schon wer Erfahrungen gesammelt?
Danke für's Lesen.
 
Ich verstehe nicht so ganz, was Du nun genau wissen willst.

Die Website läuft nach ISO-8859-1 und in der DB sind die Daten nach UTF-8 abgelegt?

Was von beidem willst Du nun ändern?
 
Im Header der PHP Datei musst du die Sprache auf UTF8 setzen. -> Gibts nen Befehl für: googeln.

Deinem MySQLd musst du auch beibringen, dass Anfragen und antworten in UTF8 sind -> Gibts auch nen Befehl für.

Dann funktioniert es reibungslos.
 
Wenn die Daten in der DB aktuell in 8859-1 sind, dann wirst du sie, nachdem du die Tabellen auf UTF-8 umgestellt hast, alle noch einmal anfassen müssen. Ansonsten kriegst du nur diese lustigen weißen Fragezeichen in ner schwarzen Raute.
Wenn die Daten in der DB bereits UTF-8 sind, dann wirst du kaum Probleme bekommen.
 
alles klar, hier die Kurzform:
Webseite (charset im header): ISO-5589-1 (detto Speicherformatierung)
Tabellen in DB: Kollation ISO-5589-1
Kollation der MYSQL-Verbindung , MySQL-Zeichensatz des Servers: UTF-8
Darstellung und Abfragen funktioniert alles bis auf LIKE Abfragen mit Umlauten
daher: Umstellung auf UTF8 oder gibt es eine Möglichkeit, dieses LIKE-Problem zu lösen?
 
Nimm immer ausschließlich UTF-8. Dein gewähltes ISO-Format könnte z.B. nicht einmal das Euro-Zeichen. Versuch also gar nicht erst, eine Umwandlung in pures UTF-8 zu umgehen. Es fällt dir nur irgendwann auf die Füße.
 
vor der Datenbank-Abfrage mal folgendes einfügen:

(PHP)
mysql_query("SET character set utf8;");

Hat mir bei manchen (anfänglichen) Misch-Masch-Charsets geholfen.
Wie Daaron kann ich nur empfehlen alles auf utf8 zu stellen: Zeichensatz im Editor, Datenbank, Meta-Tag im HTML und notfalls noch den PHP-Header-Befehl. Allein schon jQuery wird dadurch um einiges entspannter, da es ja nur utf8 versteht.
 
Habe mal eine Formularseite auf utf8 umgestellt und gespeichert (Netbeans mit utf8 Kodierung), die Umlaute wurde zu einem Fragezeichen. Kann man ausbessern, ärgerlich, aber ist nun mal so (ist es so?).
Gebe ich nun als Suchbegriff "fläche" ein so erhalte ich nach Absenden($_POST) keinen Treffer dafür aber ein "fläche" zurück. Ned ganz das Wahre.
 
so auf die schnelle leider nein. hab die letzten beiden tage einige seiten und handbücher durchstöbert, werd mal das problem ein paar tage zur seite legen, um wieder einen klaren kopf zu kriegen, die sache sozusagen reifen lassen. danke für die antworten.
 
Zurück
Oben