Umlaute werden falsch über PHP in die MySQL-Datenbank gespeichert

Der Browser nimmt eigentlich als Zeichenkodierung für Formulardaten dieselbe Kodierung, mit der das Formulardokument ausgeliefert wurde. Deshalb solltest du durchgängig ein und dieselbe Kodierung nehmen und diese immer korrekt angeben.
 
Ich nehme eigentlich die ganze Anwendung durch UTF-8. Der User soll aber später die Möglichkeit haben, Menüpunkte anzulegen. Wenn er diese über ein Formular anlegt, muss ich aus dem Titel zwei Strings in die Datenbank eintragen. Zum einen den Titel wie er eingegeben wurde um diesen später anzuzeigen und zum zweiten eine Variable die keine Sonderzeichen enthalten darf. Deshalb musste ich unter anderem aus dem UTF-8 String alle Sonderzeichen ersetzen.
 
Ich weiss, das Thema ist schon alt, aber ich würde sagen, es freuen sich bestimmt einige, wenn es eine Antwort gibt: Probiert einfach mal bei PHPMyAdmin die Kollation in der Tabelle zu ändern. Bei mir geht es mit cp850_general_ci, da mein PHP-Script mit ANSI (Windows) kodiert ist. Wenn ihr ein UTF-8-Script habt, stellt den Zeichensatz der Tabelle auf utf8_general_ci.....
So könnt ihr ohne Probleme oder Konvertieren auf die Datenbank zugreifen.
Ich hoffe, das wird einigen helfen :)
 
Zurück