Ungarische Zeichen
Andi
- php
Hallo!
Also mein Code:
echo "<FORM NAME="modform" ACTION="$PHP_SELF" METHOD="POST" accept-charset="UTF-8">";
Diese Form sendet alle Daten an sich selber, wo sie dann in eine MySQL-Datenbank gespeichert werden.
Wenn jetzt jemand ungarische Zeichen eingibt, dann werden nur ein paar gespeichert, da sie, glaube ich, nicht an die Seite übergeben werden.
Gibt es eine Möglichkeit im input tag etwas anzugeben was das urlencode übernimmt oder irgend eine andere Möglichkeit mit PHP?
Danke im voraus!
Grüsse
Andi
Hallo,
Es gab hier in den letzten Tagen einige Threads zum Thema Forms, MySQL und UTF-8, die solltest Du mal recherchieren. Meines Wissens müssen mehrere Faktoren stimmen, damit alles funktioniert:
1. die MySQL-Version muss UTF-8 voll unterstützen
2. accept-charset="UTF-8" in der Form
3. der charset-Metatag muss auf UTF-8 stehen
4. der Server muss UTF-8 als charset schicken
Gerade bei Letzterem bin ich öfter gescheitert, weil ich einfach nicht auf die Idee gekommen bin, es zu überprüfen.
Abhilfe:
Mozilla z.B. kann die Header-Informationen anzeigen, du kannst Sie dann entweder in der httpd.conf oder mit header() in PHP zurechtrücken.
Dieter
Moin!
Meines Wissens müssen mehrere Faktoren stimmen, damit alles funktioniert:
1. die MySQL-Version muss UTF-8 voll unterstützen
Nein, UTF-8 kann auch in ganz normalen Datenbanken gespeichert werden.
2. accept-charset="UTF-8" in der Form
Ja, das hilft, ist aber nicht 100% zwingend.
3. der charset-Metatag muss auf UTF-8 stehen
Auch das hilft, aber da der Metatag im HTTP-Kontext irrelevant ist, wenn im HTTP-Header auch Angaben gemacht wurden, ist er nicht 100% zwingend.
4. der Server muss UTF-8 als charset schicken
Ja, das ist unerläßlich.
Zusätzlich dazu noch die Punkte 2 und 3 zu erfüllen, mithin also an drei Stellen den gleichen Zeichensatz "UTF-8" zu definieren, sollte alle Unklarheiten beim Browser beseitigen.
- Sven Rautenberg