mysql + charsets
-
also ich bin momentan einfach nurnoch gereitzt... alle sonderzeichen die ich in eine tabelle reinschreibe (zB öäü) werden entweder ab dem sonderzeichen nicht mehr weitergeschrieben oder werden durch '????' ersetzt. wie zum teufel macht das phpmyadmin etc und was sollte ich als charset benutztn? wie sieht es mit dem convert-befehl aus?
mfg blan
-
Setz die Zeichensätze und -kollationen der Tabellen auf utf-8 und fertig.
Evtl. noch die Verbindung auf UTF-8 setzen:
mysql_unbuffered_query('SET NAMES \'utf8\'');
-
okay, hab jetzt herausgefunden das ich es funktioniert sonderzeichen einzutragen, was aber nicht geht ist die variable $_POST['text'] einzusetzten.. da passierts dann wie oben beschieben. ab dem sonderzeichen bricht die zeichenkette ab o.O was is da los?
$SQL = "UPDATE `history` SET `text` = '" . $_POST['text'] . "'";
p.s: hab utf8_bin
mfg blan
-
Du scheinst da Formulareingaben ungefiltert in ne dynamische SQL-Query zu hauen, ich empfehle z.B. hier mal reinzuschauen:
https://www.sicher-im-netz.de/content/sicherheit/ihre/software/Ladendiebstahlleichtgemacht.pdfDie einfachste Möglichkeit ist Sonderzeichen einfach via html-codes zu kodieren und die einfach so in die Datenbank zu hauen, beim anzeigen im Browser hat man dann auch keine Probleme.
Auch Formulareingaben einfach html-kodieren, bietet sogar ein wenig Schutz vor manipulierten SQL-Queries...