SQL Sonderzeichen aus Datenbank lesen

pp3345

Lieutenant
🎅Rätsel-Elite ’24
Registriert
Feb. 2008
Beiträge
637
Ich habe eine MySQL-Datenbank, in der ein paar Texte gespeichert werden. Allerdings werden Sonderzeichen wie ä, ö, ü oder » einfach nicht dargestellt nach dem auslesen.
 
Du schreibst "nicht dargestellt"; heißt das, dass die Zeichen komplett fehlen, oder werden sie falsch dargestellt?

Falls sie falsch dargestellt werden, fehlt dir evtl. die Angabe der Codierung im Kopf, bspw.:
HTML:
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
Kann aber auch sein, dass dir das bei der DB-Ausgabe hilft:
PHP:
mysql_query("SET NAMES 'utf8'");
 
wenn das nicht funktioniert, solltest du dir mal die kodierungen ansehen (scheint wohl inkonsistent zu sein). wenn du im client (html) iso-8859-1 einsetzt und auf server-seite utf-8-encoding wählst, in der datenbank dagegen aber utf-16 eingestellt hast, dann kann das schon gar nicht funktionieren. stell also die html auf utf-8, die php-seiten auf utf-8 (geht mit notepad++ ganz einfach) und die datenbank auf utf-8 um. da gibts dann überhaupt keinerlei probleme mehr mit umlauten oder sonderzeichen, denn diese werden in einem encoding eingegeben und treffen im gleichen in der datenbank ein (umgekehrt natürlich genauso). alternativ solltest du dir die funktionen utf8_encode bzw. utf8_decode mal ansehen, bzw. die funktion iconv. die funktionen müssten aber nur angewandt werden, wenn irgend ein hirni in seinem browser eine fixe kodierung eingestellt hat, welche du somit umwandeln müsstest.
 
Danke, mit utf8_encode() hats funktioniert.
 
Zurück
Oben