Sven: Probleme mit Unicode-Zeichensatz

Morgen zusammen,

folgendes (sehr merkwürdiges) Problem habe ich: Meine Datei index.php stellt das Gerüst der Seite dar. Die Datei allgemein.php wird per include eingebunden. Und in der Datei allgemein.php wird widerrum eine profil.php ebenfalls per include eingebunden.

Nun habe ich in der allgemein.php Umlaute stehen, ganz im Klartext, ohne ä oder ähnliches. Diese Umlaute erscheinen in Firefox später nur als wirres Zeichen (ein Karo mit einem Fragezeichen drin). Die Umlaute, die jedoch in der profil.php stehen, werden korrekt umgesetzt. Ebenfalls die aus einer MySQL-Datenbank eingebundenen Umlaute werden korrekt umgesetzt. Nur die in der allgemein.php eingetragenen machen Probleme.

Das gleiche Bild ergibt sich, wenn ich in Firefox mir den Quelltext anzeigen lasse: Die Umlaute, die aus der allgemein.php kommen, werden nicht angezeigt, alle anderen schon.

Das Charset der Seite ist in der index.php so definiert:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

Sollte eigentlich ja klappen oder? Woran kanns liegen, dass das nur die eine eingebundene Seite betrifft?

Lg
Sven

  1. Hallo Sven,

    Das Charset der Seite ist in der index.php so definiert:
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    Woran kanns liegen, dass das nur die eine eingebundene Seite betrifft?

    vielleicht daran, daß hier vor der utf-8-Angabe das Anführungszeichen fehlt?

    MfG

    gooxsy

    --
    sh:( fo:| ch:? rl:° br:& n4:? ie:% mo:) va:} de:> zu:) fl:( ss:( ls:& js:{
    1. Hallo Sven,

      vielleicht daran, daß hier vor der utf-8-Angabe das Anführungszeichen fehlt?

      Entschuldige bitte, ich hatte mich verschaut. Das Anführungszeichen ist eh da, wo es hingehört. Daran kann es also nicht liegen.

      Hast Du die Seite auch als utf-8 codiert gespeichert, nachdem sie fertig geschriben war?

      MfG

      gooxsy

      --
      sh:( fo:| ch:? rl:° br:& n4:? ie:% mo:) va:} de:> zu:) fl:( ss:( ls:& js:{
  2. Meine Datei index.php stellt das Gerüst der Seite dar. Die Datei allgemein.php wird per include eingebunden. Und in der Datei allgemein.php wird widerrum eine profil.php ebenfalls per include eingebunden.

    Nun habe ich in der allgemein.php Umlaute stehen, ganz im Klartext, ohne &auml; oder ähnliches. Diese Umlaute erscheinen in Firefox später nur als wirres Zeichen (ein Karo mit einem Fragezeichen drin). Die Umlaute, die jedoch in der profil.php stehen, werden korrekt umgesetzt.

    Das eine hat mit dem anderen nichts zu tun, include() liest die Daten aus der Datei und spuckt sie unverändert in die Ausgabe. Zwar wird der PHP-Code ausgeführt, aber von Zeichenkodierungen hat PHP nicht den geringsten Schimmer.

    Augenscheinlich hast du also allgemein.php nicht utf-8-kodiert gespeichert, index.php und profil.php hingegen schon.

    1. Das eine hat mit dem anderen nichts zu tun, include() liest die Daten aus der Datei und spuckt sie unverändert in die Ausgabe. Zwar wird der PHP-Code ausgeführt, aber von Zeichenkodierungen hat PHP nicht den geringsten Schimmer.

      Augenscheinlich hast du also allgemein.php nicht utf-8-kodiert gespeichert, index.php und profil.php hingegen schon.

      Das werde ich gleich mal überprüfen, Danke! Worauf man aber auch alles achten muss...

      Lg
      Sven

      1. Funktioniert! Irre...

        1. @@Sven:

          Funktioniert! Irre...

          Na sowas. ;-)

          „Es ist jedoch zu beachten, dass einfach nur eine andere Zeichencodierung anzugeben die Bytes nicht ändert; man muss den Text auch in dieser Codierung SPEICHERN.“ [Zeichencodierung für Dummies]

          Live long and prosper,
          Gunnar

          --
          “New Jersey Hall of Fame? […] But then I ran through the list of names: Albert Einstein, Bruce Springsteen... my mother's going to like that. […] it's the only time she's going to hear those two names mentioned in the same sentence, so I'm going to enjoy it.” (Bruce Springsteen when inducted into the New Jersey Hall of Fame, 2008-05-04)