Drathy: Umlaute werden in MYSQL als '?' dargestellt

Hallo zusammen!

Ich habe folgendes Problem:
Per Formular werden Daten eingegeben, die dann mittels PHP an eine MYSQL-Datenbank (MYSQL 4.1.20) geschickt werden.

Die Daten werden auch in die Datenbank geschrieben, allerdings werden sämtliche Umlaute als '?' dargestellt!
Als Kollation ist "latin1_general_ci" eingestellt...mit "latin1_german_ci" habe ich es auch schon getestet - gleiches Ergebnis...

In meinem Header der Seite habe ich folgendes Encoding stehen, was auch korrekt sein sollte: <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

Irgendwie muss ich die DB doch so einstellen können, dass problemlos Umlaute abgespeichert werden können...

Ich sollte vielleicht noch erwähnen, dass ich Typo3 als Basis für die Webseite verwende und dass ich die Tabellen für Typo3 noch nicht von Hand auf die Kollation umgestellt habe...aber das dürfte in meinen Augen ja nicht damit zusammen hängen, dass die Datenbank die Daten aus dem Formular nicht richtig speichert....oder?

Bitte um Hilfe!

Viele Grüße,
Drathy

  1. echo $begrüßung;

    [...] MYSQL-Datenbank (MYSQL 4.1.20) [...]
    Die Daten werden auch in die Datenbank geschrieben, allerdings werden sämtliche Umlaute als '?' dargestellt!
    Als Kollation ist "latin1_general_ci" eingestellt...mit "latin1_german_ci" habe ich es auch schon getestet - gleiches Ergebnis...

    Vermutlich ist der Default-Wert für das Character Set der Verbindung ein anderer als die Kodierung der Daten, die du sendest.

    echo "$verabschiedung $name";

    1. Danke für die schnelle Antwort!

      Ich habe mir das mal durchgelesen, aber nicht zu 100% geschnallt...mein Englisch ist leider nicht das Beste... :(

      Verstehe ich es richtig, dass ich das Einfügen der Daten in die Tabelle also anders machen muss? Nämlich auf folgende Weise:

      SET CHARACTER SET latin1 INSERT INTO ... (usw.)

      und bei Abfragen dann so:

      SET CHARACTER SET latin1 SELECT * FROM ... (usw.) ??

      Wird dadurch der Verbindung gesagt, dass sie auch Umlaute richtig übertragen soll?

      Gruß,
      Drathy

      1. echo $begrüßung;

        Verstehe ich es richtig, dass ich das Einfügen der Daten in die Tabelle also anders machen muss? Nämlich auf folgende Weise:

        SET CHARACTER SET latin1 INSERT INTO ... (usw.)

        Nicht ganz. Zum einen solltest du

        SET NAMES latin1

        nehmen, und zum anderen ist das ein eigenständiger Befehl (sprich: ein extra mysql_query()), der aber nur einmal pro Verbindung (idealerweise direkt nach dem Connect) ausgeführt zu werden braucht.

        echo "$verabschiedung $name";

        1. echo $DAAANKE!!!;

          Super, hat geklappt - vielen Dank!! Habe einfach nach der Verbindungsherstellung folgende query platziert

          mysql_query("SET NAMES latin1");

          und nun werden auch die Umlaute in der Datenbank eingetragen!!

          Vielen Dank für die schnelle Hilfe!!!