Hallo!
Ich bin dabei ein kleines Gästebuch zu schreiben, habe jetzt aber ein Problem mit Umlauten. Und zwar ist meine Seite mit UTF-8 codiert, und das soll eigentlich auch so sein (außer es geht absolut nicht anders).
Ich habe auf der Seite ein Formular, die darin eingegebenen Daten gehen an ein PHP-Script, das die Daten in eine MySQL-Datenbank einträgt. Später werden sie wieder ausgelesen und sollen auf dem Bildschirm ausgegeben werden. Bei sehr vielen Umlauten werden aber unleserliche Zeichen angezeigt.
Zu der Problematik gibt es hier im Forum ein paar Fragen aber ich konnte nichts finden, was bei mir das Problem behoben konnte.
Mein Formular sieht folgendermaßen aus:
<form action="Gaestebuch.php" method="post" accept-charset="utf-8">
<ul style="list-style: none">
<li>Name *:</li>
<li><input type="text" size="15" maxlength="15" name="name" /></li>
<li>E-Mail:</li>
<li><input type="text" size="25" maxlength="25" name="mail" /></li>
<li>Text *:</li>
<li><textarea cols="50" rows="10" name="text" ></textarea></li>
<li><input type="submit" name="action" value="Eintragen" />
<input type="reset" value="Löschen" /></li>
<li>(mit * markierte Felder sind Pflicht)</li>
</ul>
</form>
In den PHP-Code habe ich folgendes geschrieben:
$text = trim ($text);
$name = trim ($name);
$text = htmlentities ($text);
$name = htmlentities ($name);
$text = str_replace ("\r\n" , "<br >\r\n" , $text);
dann wird das ganze eingetragen durch:
INSERT INTO mgb_daten (name , mail , datum , text) VALUES ('$name' , '$mail' , '$datum' , '$text')
In der Datenbank gibt es folgende Felder:
- name (tinytext)
- mail (tinytext)
- datum (varchar)
- text (longtext)
Apache: 1.3.31
PHP: 4.3.10
MySQL: 4.0.24
phpinfo(): http://www.young-forum.de/selfhtml.php
Habt ihr eine Idee, wie ich es schaffe, dass so gut wie alle (auf jeden Fall deutsche Umlaute und €-Zeichen etc.) Zeichen korrekt dargestellt werden? Hier im Forum z.B. geht es ja auch ;-)
Michael
PS: Ich kenne mich mit MySQL nicht besonders gut aus, also kann es vielleicht auch an den Typen liegen, die ich den jeweiligen Feldern gegeben habe?