Ausgabe von Sonderzeichen
stags04
- php
Hallo; hoffe es kann mir jemand helfen! Schlage mich mit dem folgenden Problem herum:
Anstatt der Umlaute ä,ö,ü werden mir bei der Ausgabe von Daten aus einer Datenbank auf der Website nur diese doofen Fragezeichen angezeigt. Seltsam dabei ist, dass in der Datenbank selbst die Umlaute dargestellt werden und erst beim Ausgeben auf der Page in die Fragezeichen wechseln.
Hi,
Vermutlich liest dein PHP-Skript die Umlaute mit einer anderen Zeichenkodierung ein als sie in deiner Datenbank gespeichert sind. Ändere also bei einem den Zeichensatz auf den des anderen :)
Mfg
Also soviel ich sehe ist die Codierung bei beidem charset=utf8_unicode_ci..
oder habe ich da was falsch verstanden?
Also soviel ich sehe ist die Codierung bei beidem charset=utf8_unicode_ci..
oder habe ich da was falsch verstanden?
Hallo,
wenn tatsächlich an beiden stellen der selbe Zeichensatz zum Einsatz kommt, müsste es eigentlich klappen. Wenn du in der Datenbank utf8_unicode verwendest, könntest du vielleicht mit der folgenden PHP-Funktion mal dein Glück probieren:
http://de.php.net/manual/en/function.utf8-encode.php
Gruß
Hello,
wenn tatsächlich an beiden stellen der selbe Zeichensatz zum Einsatz kommt, müsste es eigentlich klappen. Wenn du in der Datenbank utf8_unicode verwendest, könntest du vielleicht mit der folgenden PHP-Funktion mal dein Glück probieren:
http://de.php.net/manual/en/function.utf8-encode.php
Wieso zwei Stellen?
Sind es nicht ein paar mehr?
Datenbank -> (Übertragung zur API ->) Verarbeitung in der API -> (Übrtragung zum Browser ->) Anzeige im Browser
Liebe Grüße aus Syburg bei Dortmund
Tom vom Berg

hi,
Anstatt der Umlaute ä,ö,ü werden mir bei der Ausgabe von Daten aus einer Datenbank auf der Website nur diese doofen Fragezeichen angezeigt. Seltsam dabei ist, dass in der Datenbank selbst die Umlaute dargestellt werden und erst beim Ausgeben auf der Page in die Fragezeichen wechseln.
Ich tippe auf ein Problem schon bei der Wurzel, also der Verbindung.
mfg
echo $begrüßung;
Anstatt der Umlaute ä,ö,ü werden mir bei der Ausgabe von Daten aus einer Datenbank auf der Website nur diese doofen Fragezeichen angezeigt. Seltsam dabei ist, dass in der Datenbank selbst die Umlaute dargestellt werden und erst beim Ausgeben auf der Page in die Fragezeichen wechseln.
Wie schaust du denn "in die Datenbank" hinein? Jegliches Datenanzeigen ist eine Ausgabe. Wenn du den phpMyAdmin nimmst, und der alles richtig anzeigt, dann sind schonmal deine Daten in Ordnung.
Wie üblich bei der Verarbeitung von Daten muss
a) ein beteiligtes System mit den Daten umgehen können und
b) das weiterreichende und das entgegennehmende System müssen sich bei der Übertragung verstehen.
Das gilt auch in Hinsicht auf Kodierungen.
Konkret heißt das im Falle MySQL für a), dass die String-Felder (die Felder!, nicht die Tabellen- oder Datenbankeinstellung) in einer passenden Kodierung konfiguriert sein müssen. Und b) MySQL und der Client müssen sich für ihre individuelle Verbindung auf eine Kodierung geeinigt haben. Das geht mit der PHP-Funktion mysql(i)_set_charset() oder zur Not mit einem SET NAMES-Statement, wenn das PHP zu alt ist und die Funktion nicht kennt.
Und dann gibt es selbstverständlich auch noch den Browser und die Verbindung zwischen PHP und dem Browser sowie den Fakt, dass PHP erst ab Version 6 ordentlich mit Mehrbytekodierungen umgehen kann, was aber nicht stört, wenn die Daten nur unbehandelt durchgereicht werden.
echo "$verabschiedung $name";