Simon Maris: DB gibt statt Sonderzeichen ? aus

Nabend allerseits.

Ich hab mich über das Thema schon dumm und dämlich gesucht, aber noch keine Lösung gefunden.
Nun gut...
Ich hab einen längeren Artikel in meiner MySQl-DB stehen.
Wenn ich mir die Zelle in phpMyAdmin(2.10.2) anschaue, sind alle Umlaute und Sonderzeichen vorhanden.
Wenn ich die Daten dann aber auch meiner Page abrufe, sind nur noch ? zu sehen.
Die Kollation ist auf UTF 8 Unicode gestellt. Und auch die Seite ist mittels charset auf UTF-8.
Trotzdem sehe ich nur ?.

Gibt es hierfür eine Lösung, ohne den Code manuell maskieren zu müssen?

mit hoffenden Grüßen
Simon

  1. Hallo,

    du kannst versuchen, vor der ersten Anfrage als SQL-Statement folgendes abzuschicken:

    SET NAMES utf8

    ich habe schon mehrfach gelesen, dass dies zusätzlich zu den Voraussetzungen, die du nennst (Datenbank hat Colation UTF8 und (HTML)Dokument ist UTF8 kodiert) notwendig sein soll

    Viel Spaß und viel Erfolg beim Probieren

    mbr

    1. echo $begrüßung;

      du kannst versuchen, vor der ersten Anfrage als SQL-Statement folgendes abzuschicken:
      SET NAMES utf8
      ich habe schon mehrfach gelesen, dass dies zusätzlich zu den Voraussetzungen, die du nennst (Datenbank hat Colation UTF8 und (HTML)Dokument ist UTF8 kodiert) notwendig sein soll

      Es ist notwendig, dass alle Beteiligten am Verarbeitungsprozess die gleiche Kodierung sprechen. Beim MySQL-Server ist zwar nicht unwichtig, welche Kodierung zur Ablage der Daten in den Feldern benutzt wird. Wichtiger ist jedoch, dass Client und Server sich auf eine gemeinsame Kodierung verständigen, die sie während ihrer Verbindung verwenden wollen.
      Das MySQL-Handbuch findet das SET NAMES-Statement so wichtig, dass es es gleich auf der Einstiegsseite des Kapitels Character Set Support erwähnt.

      echo "$verabschiedung $name";