ENGLISH VERSION |
|
Links | | | Forum | | | Kommentare | | | News melden |
Chat | | | Umfragen | | | Newsticker | | | Archiv |
amiga-news.de Forum > Programmierung > HTML-Forms und MySQL: Probleme mit Umlauten und Sonderzeichen | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
-1- | [ - Beitrag schreiben - ] |
18.02.2008, 16:46 Uhr Mad_Dog Posts: 1944 Nutzer |
Hallo, Ich stehe gerade vor folgendem Problem: Ein HTML-Formular mit Texteingabefeldern soll mittels eines php5-Programms ausgewertet werden. Die Texte, die man in die HTML-Forms eingibt, sollen in einer MySQL 5 Datenbank landen. Das funktioniert soweit alles gut, bis auf Umlaute und Sonderzeichen. Diese landen in der Datenbank verstümmelt (d.h. wirre Zeichenfolge). Welche Kollation in der Datenbanktabelle ist für deutschen Text sinnvoll? Ich habe mal latin1_general_ci angegeben. Muß ich die Strings, die ich per php aus dem HTML Form auslese, irgendwie konvertieren, bevor sich sie in die Datenbank scheibe, damit die Umlaute richtig abgespeichert werden? -- http://www.norman-interactive.com [ - Antworten - Zitieren - Direktlink - ] |
19.02.2008, 12:25 Uhr Solar Posts: 3680 Nutzer |
Zitat: Ich bin alles andere als ein MySQL-Spezialist, aber: COLLATE meint die Sortierung bzw. den Abgleich von Datenbankfeldern, d.h. was bei ORDER BY bzw. x = y mit Stringfeldern passiert. Wenn Du Probleme mit Umlauten und Sonderzeichen hast, ist nicht die Kollation Dein Problem, sondern der verwendete CHARACTER SET. Früher war der Default bei MySQL latin-1, heute ist es UTF-8. Wenn die Übertragung von Sonderzeichen nicht funktioniert, kann das leider an vielen verschiedenen Dingen liegen. Die Webseite muß den korrekten Charset angeben (z.B. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />), evtl. mußt Du utf8_encode / utf8_decode verwenden, die Datenbanktabellen müssen mit entsprechenden Charset angelegt sein, evtl. ist auch die Unicode-Unterstützung des von Dir verwendeten Browsers fehlerhaft... fiese Sache, das alles passend zusammenzubiegen, und mit Sicherheit in einem MySQL/PHP-Forum besser aufgehoben. Ich habe bis heute meine Linux-Installation nicht auf ein einheitliches Verwenden von UTF-8 bügeln können... [ - Antworten - Zitieren - Direktlink - ] |
19.02.2008, 13:00 Uhr Mad_Dog Posts: 1944 Nutzer |
Danke! Hab's aber in der Zwischenzeit selbst herausgefunden. Die Strings, die ich von den HTML-Forms erhalten habe, waren utf8 codiert. Folglich half utf8_decode weiter. -- http://www.norman-interactive.com [ - Antworten - Zitieren - Direktlink - ] |
19.02.2008, 13:33 Uhr Mad_Dog Posts: 1944 Nutzer |
Wegen dem Begriff Kollation: In phpMyAdmin wird die Zeichencodierung (latin, utf8, usw.) als Kollation bezeichnet. -- http://www.norman-interactive.com [ - Antworten - Zitieren - Direktlink - ] |
26.02.2008, 11:15 Uhr Solar Posts: 3680 Nutzer |
Dann führt Dich phpMyAdmin an der Stelle in die Irre. COLLATE und CHARACTER SET sind für MySQL zwei unterschiedliche Dinge, und COLLATE betrifft Vergleiche, während CHARACTER SET die Codierung bezeichnet. Aus der Online-Doku für MySQL 5.1, kursive Hervorhebung von mir: Zitat: [ - Antworten - Zitieren - Direktlink - ] |
-1- | [ - Beitrag schreiben - ] |
amiga-news.de Forum > Programmierung > HTML-Forms und MySQL: Probleme mit Umlauten und Sonderzeichen | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
Impressum |
Datenschutzerklärung |
Netiquette |
Werbung |
Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten. |