DEUTSCHE VERSION |
|
Links | | | Forums | | | Comments | | | Report news |
Chat | | | Polls | | | Newsticker | | | Archive |
amiga-news.de Forum > Programmierung > HTML-Forms und MySQL: Probleme mit Umlauten und Sonderzeichen | [ - Search - New posts - Register - Login - ] |
-1- | [ - Post reply - ] |
2008-02-18, 16:46 h Mad_Dog Posts: 1944 User |
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 [ - Answer - Quote - Direct link - ] |
2008-02-19, 12:25 h Solar Posts: 3680 User |
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... [ - Answer - Quote - Direct link - ] |
2008-02-19, 13:00 h Mad_Dog Posts: 1944 User |
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 [ - Answer - Quote - Direct link - ] |
2008-02-19, 13:33 h Mad_Dog Posts: 1944 User |
Wegen dem Begriff Kollation: In phpMyAdmin wird die Zeichencodierung (latin, utf8, usw.) als Kollation bezeichnet. -- http://www.norman-interactive.com [ - Answer - Quote - Direct link - ] |
2008-02-26, 11:15 h Solar Posts: 3680 User |
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: [ - Answer - Quote - Direct link - ] |
-1- | [ - Post reply - ] |
amiga-news.de Forum > Programmierung > HTML-Forms und MySQL: Probleme mit Umlauten und Sonderzeichen | [ - Search - New posts - Register - Login - ] |
Masthead |
Privacy policy |
Netiquette |
Advertising |
Contact
Copyright © 1998-2024 by amiga-news.de - all rights reserved. |