Da Hacker
Erfahrenes Mitglied
Hallo Tutorials.de-Community,
ich habe nach meinem Serverumzug ein Problem mit der Zeichenkodierung bei meinem Projekt, aber auch generell Verständnislücken zu diesem Thema.
Es geht darum, dass Leute Kommentare zu Bildern geben können. Diese Kommentare werden über ein AJAX-Script an eine PHP-Datei gesendet und dort in die Datenbank geschrieben.
Ihr könnt euch dazu gerne hier das aktuelle Projekt ansehen. Einfach ein Vorschaubild anklicken und in der unteren Leiste auf "Kommentar hinzufügen" klicken.
Das Problem:
Wenn jemand einen Kommentar mit Umlauten abschickt, dann werden diese in der Datenbank nicht normal, sondern in dieser Form gespeichert:
Mein Hauptproblem ist also, dass Umlaute und auch andere Sonderzeichen wie das scharfe S (ß) in der Datenbank falsch gespeichert werden und ich damit auch schädlichen HTML-Code nicht verhindern kann(da etwa htmlentities nicht richtig funtioniert)!
Welchen Unterschied macht die Charset-Definition eigentlich bei....
Man findet so schwer irgendwelche zusammenfassenden Informationen, was man als Webdesigner zu beachten hat und welche Charset-Definition jetzt eigentlich gilt. Ich hab längere Zeit gesucht und bitte euch jetzt um Hilfe, da ihr einfach das kompakte Know-How habt.
Vielen Dank also schonmal für eure Zeit und eure Mühen!
Adam
ich habe nach meinem Serverumzug ein Problem mit der Zeichenkodierung bei meinem Projekt, aber auch generell Verständnislücken zu diesem Thema.
Es geht darum, dass Leute Kommentare zu Bildern geben können. Diese Kommentare werden über ein AJAX-Script an eine PHP-Datei gesendet und dort in die Datenbank geschrieben.
Ihr könnt euch dazu gerne hier das aktuelle Projekt ansehen. Einfach ein Vorschaubild anklicken und in der unteren Leiste auf "Kommentar hinzufügen" klicken.
Das Problem:
Wenn jemand einen Kommentar mit Umlauten abschickt, dann werden diese in der Datenbank nicht normal, sondern in dieser Form gespeichert:
Originaleintrag hat gesagt.:Meine Nachricht: ööäüöÖPÜLÜÄL
Die Anzeige des Kommentars (auch mit AJAX realisiert) wird dann seltsamerweise richtig dargestellt Ich habe auch durchgängig die Kodierung "charset=ISO-8859-1" gewählt und die Datenbanken sind nach "latin-german1" umgestellt(was ist eigentlich der Unterschied zu german2?).Datenbank hat gesagt.:Meine Nachricht: ööäüöÖPÃœLÜÄL
Mein Hauptproblem ist also, dass Umlaute und auch andere Sonderzeichen wie das scharfe S (ß) in der Datenbank falsch gespeichert werden und ich damit auch schädlichen HTML-Code nicht verhindern kann(da etwa htmlentities nicht richtig funtioniert)!
Welchen Unterschied macht die Charset-Definition eigentlich bei....
- ...der META-Tag-Definition
- ...dem Javascript-Befehl "setRequestHeader"
- ...dem PHP-Befehl: "header()"
- ...der Definition in Dateien (z.B. xyz.php) des Charsets beim Speichern
Man findet so schwer irgendwelche zusammenfassenden Informationen, was man als Webdesigner zu beachten hat und welche Charset-Definition jetzt eigentlich gilt. Ich hab längere Zeit gesucht und bitte euch jetzt um Hilfe, da ihr einfach das kompakte Know-How habt.
Vielen Dank also schonmal für eure Zeit und eure Mühen!
Adam