Umlaute umwandeln PHP
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
betreff
code
datenbank
datum
entsprechenden zeichen
formular
funktion
hand
nachricht
ordnung
set
sonderzeichen
string
tag
text
umlaut
update
vorredner
welt
zeichen
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Das ist ganz einfach...
Es gibt in php eine Funktion dafür:
string htmlspecialchars( string )
Diese Funktion wandelt alle Sonderzeichen, auch ä, ö, ß, ü in html-Zeichen um. Allerdings werden auch die Tag-Zeichen, also < > und " in html umgewandelt. Die Funktion benutzt du so:
<?php $Text = "dies ist Text mit <\"Ä, Ö, Ü\">"; $html = htmlspecialchars( $Text ); echo $html; ?>
-
Das ist mein Code zum Speichern in die Datenbank:
if($addnews){ mysql_query("insert into news (id,zeit,datum,betreff,nachricht) values ('$id','$zeit','$datum','$betreff','$nachricht')"); } if($dellnews){ mysql_query("delete from news where id='$id'"); } if($editnews){ mysql_query("update news set betreff = '$betreff)', nachricht = '$nachricht' where id='$id'"); }
Wie kann ich den $betreff und $nachricht mit htmlentities() umschreiben? -
Füge einfach das vor deinen Datenbankbefehlen ein:
$betreff = htmlentities($betreff); $nachricht = htmlentities($nachricht);
-
sonok schrieb:
Na mit htmlentities($betreff)
Aber solang das Schuhebinden geht ist die Welt ja noch Ordnung ... oller Anti-Lern-Spammer!
mysql_query("update news set betreff = 'htmlentities($betreff)', nachricht = 'htmlentities($nachricht)' where id='$id'");
So geht das aber nicht.
Was mache ich falsch?
@zerojan; danke !
Beitrag zuletzt geändert: 18.10.2010 22:33:46 von davy -
$betreff = htmlentities($betreff); $nachricht = htmlentities($nachricht); if($addnews){ mysql_query("insert into news (id,zeit,datum,betreff,nachricht) values ('$id','$zeit','$datum','$betreff','$nachricht')"); } if($dellnews){ mysql_query("delete from news where id='$id'"); } if($editnews){ mysql_query("update news set betreff = '$betreff)', nachricht = '$nachricht' where id='$id'"); }
-
htmlentities, wie meine Vorredner gesagt haben ist die beste Alternative.
Andernfalls kannst du nur "per Hand" überprüfen lassen nach allen entsprechenden Zeichen. Ist aber sehr mühseelig.
-
Wenn das auch nicht geht probiers mit uft8_decode(string) oder utf8_encode(string)
EDIT: innerhalb von htmlentities natürlich :)
Beitrag zuletzt geändert: 19.10.2010 20:33:34 von htl-vil -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage