Habe leider mit bedauern folgendes festellen müssen und hoffe das ihr mir da helfen könnt.
Habe ein eingabescript wo User ihren Namen/Nick eingeben können und ein Text.
Dieser wird per POST übergeben und wie folgt eingetragen in die DB
PHP-Code:
'".addslashes(htmlspecialchars($_POST['Name']))."',
die Felder haben die Kollation "utf8_unicode_ci" die Tabelle aber "latin1_swedish_ci"
Hat das auswirkungen auf die Sonderzeichen?
Habe vor 2 wochen das Formular verändert und nicht das charset angeben. Im alten
Dokument war es leider "charset=iso-8859-1" und nicht UTF wie in der SQL DB, Oder ist
das egal?
Also würde in die DB immer schön ü und ä eingetragen anstatt "ü" etc pp. Nun werden
aber "ü" in die DB geschrieben durch das neue script. Und dementsprechend falsch aus
gegeben. Stelle ich das charset nun auf UTF um werden die neuen Beiträge korrekt angezeigt
aber die alten eben wieder falsch.
Gibts da eine funktion in sql oder php (ich weiß es halt leider nicht), welches mir alle
sonderzeichen vom ISO format ins UTF konvertiert?
Achja so wird das nun ausgegeben:
PHP-Code:
html_entity_decode($row['Name'],ENT_QUOTES,"UTF-8");
und das charset
steht im headbereich der html auf utf-8.
Hoffe mich halbwegs verständlich ausgedrückt zu haben