Sonderzeichen mysql php (htmlentities funzt nicht?!)
Die Verzweiflung
- php
Hallo,
Ich such jetzt seit 2 Stunden den Fehler und find einfach nix. Hab eine Eingabemaske geschrieben mit verschiedenen texareas und inputs, die ich an eine Datei Eintragspeichern.php schick (per 'post'). Dort werden die Daten dann in eine mysql-Datenbank geschrieben. Sieht beim aktualisieren etwa so aus:
"UPDATE
Produkte
SET
Name = '".htmlentities($InputName)
WHERE
Nr = '".$InputNr."'
;";
Problem ist, dass bei Sonderzeichen immer Mist in der Datenbank ankommt. Wenn ich mir die Daten mit echo vorher anzeigen lass, sieht es ok aus. Wenn sie dann in die Datenbank geschrieben werden, kommt da nur "Restsüße" etc an - mit oder ohne htmlentities. Woran kann so was liegen und was für eine komische Sprache ist das? Ich weiß grad nicht mehr weiter. Außer htmlentities und htmlspecialchars hab ich keine Lösungsvorschläge gefunden im Netz.
Moin!
Ich such jetzt seit 2 Stunden den Fehler und find einfach nix. Hab eine Eingabemaske geschrieben mit verschiedenen texareas und inputs, die ich an eine Datei Eintragspeichern.php schick (per 'post'). Dort werden die Daten dann in eine mysql-Datenbank geschrieben.
Lies folgende Postings zum Thema "Escaping in Datenbanken":
http://forum.de.selfhtml.org/archiv/2005/12/t119714/#m768221
http://forum.de.selfhtml.org/archiv/2006/8/t134653/#m873635
http://forum.de.selfhtml.org/archiv/2005/10/t117767/#m754672
Es mangelt bei dir an etlichen, wichtigen Funktionen.
Problem ist, dass bei Sonderzeichen immer Mist in der Datenbank ankommt. Wenn ich mir die Daten mit echo vorher anzeigen lass, sieht es ok aus. Wenn sie dann in die Datenbank geschrieben werden, kommt da nur "Restsüße" etc an - mit oder ohne htmlentities.
Das ist UTF-8-Kodierung, die du im ISO-8859-1-Modus anguckst.
Ändere alles durchgehend auf UTF-8, dann hast du gewonnen.
Lies u.a.: http://forum.de.selfhtml.org/archiv/2006/1/t121385/
- Sven Rautenberg
Danke für den Tipp. Habs nach ewigem Rumprobieren nu geschafft