Ausgabe mit Umlauten decodieren mysql php

#1139443
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
Gast #1139463
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren