Forum: PC-Programmierung Ausgabe mit Umlauten decodieren mysql php


von Nette M. (nette-mann)


Lesenswert?

Wie schaffe ich es das die Daten die aus der MySQL Datenbank richtig 
dargestellt werden? Meine die Sonderzeichen Ä Ü ß etc. Erhalte momentan 
z.B. Gie�en was eigentlich die Stadt Gießen meint. Code:

$schrift = 'SELECT Ueberschrift FROM archiv';
$falschri = mysql_query($schrift, $connection);
if ($falschri)
  {
    //..
  }
  else
  {
    die('Falsche Tabelle');
  }

    echo '<table border="0">';
    while ($row8 = mysql_fetch_row($falschri))
    {
      echo '<tr>';
      for ($i=0; $i<count($row8); $i++)
      {
        echo '<td>'.$row8[$i].'</td>';
      }
      echo '</tr>';
    }
    echo '</table>';
    ?>

Habe jetzt  schonmal versucht die Tabelle vom latin1_swedish_ci 
Codierungstripp umzulenken auf utf 8, aber das verweigert mir der mysql 
Server. Beim einfügen nutze ich folgendes was auch geht z.B. $text = 
utf8_decode ($inhalt);  . Nur mit dem ausgeben will es nicht so wie es 
will. Aber in der Tabelle stehen alle Sonderzeichen richtig drin. Wenn 
ihr mir weiterhelfen könntet oder nen Tipp parat habt wer ich dankbar

von Sven P. (Gast)


Lesenswert?

1. Richtige Kollation für die betroffenen Spalten auswählen. Die mit 
xxxx_ci sortieren übrigens ohne Beachtung von Groß- und Kleinschreibung.
2. Richtige Kodierung für die Verbindung setzen (SET CHARACTER SET 
'utf8').
3. Richtige Kodierung in den HTTP-Header setzen (Content-type...).
4. Richtige Kodierung im Dokument setzen (<?xml .. encoding="..."?>).
5. Ggf. Kodierung nochmal im Dokument mit META setzen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.