Tag alle.
Das Problem von gestern ist gelöst. Da ich in Sachen PHP+mySQL+UTF-8 ein ziemlicher Anfänger bin, bitte ich euch, mal über den Code zu schauen, ob das so in Ordnung ist oder ob es hier Verbesserungen oder noch Fehler gibt:
$headline = htmlentities(trim($_POST['headline']), ENT_COMPAT, 'utf-8');
$quelle = htmlentities(trim($_POST['quelle']), ENT_COMPAT, 'utf-8');
$url = htmlentities(trim($_POST['link']), ENT_COMPAT, 'utf-8');
$nachricht = nl2br(htmlentities(trim($_POST['nachricht']), ENT_COMPAT, 'utf-8'));
if(!get_magic_quotes_gpc()) {
$headline = addslashes($headline);
$quelle = addslashes($quelle);
$url = addslashes($url);
$nachricht = addslashes($nachricht);
}
mysql_escape_string($headline);
mysql_escape_string($quelle);
mysql_escape_string($url);
mysql_escape_string($nachricht);
$query = "INSERT INTO tabelle SET feld1=_utf8'$headline',feld2=_utf8'$quelle',feld3=_utf8'$url',feld4=_utf8'$nachricht'";
Und schließlich noch die Frage:
Oben stehender Code speichert die Texte einschließlich HTML-Entities. Ist das sinnvoll oder sollte ich das lassen und htmlentities() erst bei Ausgabe der Ergebnisse eines SELECT-Statements ausführen?
Siechfred