Julian von Mendel: (Browser) (Mac) Zeichensatz ISO-8859-1 => Frage-/Fehlende Zeichen

Hallo!

Ich hab eine Webanwendung in PHP, welche unter Windows und unter Linux keine Probleme macht. Am Mac (Opera/Safari/Firefox, jeweils aktuellste Version) läuft ebenfalls alles, aber deutsche Umlaute und andere Sonderzeichen werden nicht korrekt dargestellt: Stattdessen erscheinen Fragezeichen, manchmal auch garnichts. Die darzustellenden Textdaten habe ich ohne auf das Encoding zu achten unter Windows und Linux in eine MySQL-Datenbank übertragen. Bei der Ausgabe über XHTML gebe ich als Zeichensatz ISO-8859-1 an. Als Encoding ist "Automatic selection" eingestellt, eine Änderung nach "ISO-8859-1" oder "UTF-8" behebt das Problem nicht. Wie kann ich, mit möglichst wenig Aufwand, die Daten auch für einen Mac lesbar machen? Würde es etwas ändern, wenn ich alle Daten durch utf8_encode() jage? (Was ich ungern tuen würde, da ich an ziemlich vielen Stellen Änderungen machen müsste.)

Mein XHTML-Header:
<?xml version="1.0" encoding="iso-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
...
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
...

Vielen Dank
Julian

--
"Real programmers can write assembly code in any language." - Larry Wall
  1. Kann das evtl. auch mit der MySQL-Datenbank auf dem Mac zu tun haben? Es ist ein Standard-XAMPP-MySQL.

    Schöne Grüße
    Julian

    --
    "Real programmers can write assembly code in any language." - Larry Wall
    1. Hi Julian!

      Kann das evtl. auch mit der MySQL-Datenbank auf dem Mac zu tun haben? Es ist ein Standard-XAMPP-MySQL.

      Welches Charset liefert der Apache bei Aufruf deiner Seiten unter Mac aus? Diese Angabe hat nämlich eine höhere Priorität als deine im Meta-Tag.

      Grüße,
      Fabian St.

      --
      ---------------------
      fabi@erde ~# whatis spam
      spam: nothing appropriate
      ---------------------
      Selfcode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:( ss:) de:> js:| ch:? mo:) zu:)
      1. Hi Fabian!

        Kann das evtl. auch mit der MySQL-Datenbank auf dem Mac zu tun haben? Es ist ein Standard-XAMPP-MySQL.

        Welches Charset liefert der Apache bei Aufruf deiner Seiten unter Mac aus? Diese Angabe hat nämlich eine höhere Priorität als deine im Meta-Tag.

        Der Mac auf dem der Server läuft gehört nicht mir und ist bis morgen für mich nicht erreichbar. Angenommen das vom Server ausgelieferte Charset passt nicht, kann ich davon ausgehen dass sich das Problem durch einfaches Ändern der Serverkonfiguration beheben lassen würde? Wie ändere ich das vom Apache ausgelieferte Charset?

        PHPMyAdmin zeigt die Zeichen übrigens auch schon fehlerhaft an.

        Danke für deine Hilfe
        Julian

        --
        "Real programmers can write assembly code in any language." - Larry Wall
        1. Hi Julian!

          Der Mac auf dem der Server läuft gehört nicht mir und ist bis morgen für mich nicht erreichbar. Angenommen das vom Server ausgelieferte Charset passt nicht, kann ich davon ausgehen dass sich das Problem durch einfaches Ändern der Serverkonfiguration beheben lassen würde? Wie ändere ich das vom Apache ausgelieferte Charset?

          Ja, wenn dies der Fall wäre ließe sich das ganze durch Hinzufügen der AddDefaultCharset-Direktive bzw. von AddCharset(für bestimmte Dateiendungen) in eine .htaccess ändern.

          PHPMyAdmin zeigt die Zeichen übrigens auch schon fehlerhaft an.

          Ein weiterer Grund dies anzunehmen.

          Grüße,
          Fabian St.

          --
          ---------------------
          fabi@erde ~# whatis spam
          spam: nothing appropriate
          ---------------------
          Selfcode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:( ss:) de:> js:| ch:? mo:) zu:)
          1. Hallo Fabian,

            das mit den Fragezeichen in der Datenbank war ein Im- bzw. Exportproblem der Datenbanken (d. h. es standen schon Fragezeichen in der DB). Jetzt hab' ich das gleiche Problem mit Nicht-Datenbank-Daten. Vom Server wird ISO-8859-1 als Encoding übergeben. Trotzdem zeigen jetzt Windows und Mac OS in HTML-Entities geschriebene Umlaute nicht korrekt an. Bei mir unter Linux passt's. Wo kann das Problem noch liegen?

            Schöne Grüße
            Julian

            1. Hallo,

              das mit den Fragezeichen in der Datenbank war ein Im- bzw. Exportproblem der Datenbanken (d. h. es standen schon Fragezeichen in der DB). Jetzt hab' ich das gleiche Problem mit Nicht-Datenbank-Daten. Vom Server wird ISO-8859-1 als Encoding übergeben. Trotzdem zeigen jetzt Windows und Mac OS in HTML-Entities geschriebene Umlaute nicht korrekt an. Bei mir unter Linux passt's. Wo kann das Problem noch liegen?

              Als erste vermute ich, dass es am Import bzw. Export in die / aus der Datenbank liegt. Dabei vermute ich, dass deine Dateien in Unicode gespeichert werden.

              1. Datei in Unicode mit 'meta iso-8859-1' in der Datei
                <http://www.meta-text.net/test/unicode.html

              2. Datei in Unicode ohen 'meta' in der Datei
                [link:http://www.meta-text.net/test/unicode2.html>

              Es steht nur:
              <h1>&auml; &#160; &uuml; &#160; &ouml; &#160; &szlig;  &#160; &eacute; &#160; &aacute; &#160; &iacute; &#160; &oacute;</h1>
              in den Dateien

              Grüße
              Thomas

              --
              Surftip: kennen Sie schon Pipolino's Clowntheater?
              http://www.clowntheater-pipolino.net/
              1. Hi Thomas!

                das mit den Fragezeichen in der Datenbank war ein Im- bzw. Exportproblem der Datenbanken (d. h. es standen schon Fragezeichen in der DB). Jetzt hab' ich das gleiche Problem mit Nicht-Datenbank-Daten.

                Als erste vermute ich, dass es am Import bzw. Export in die / aus der Datenbank liegt.

                Danke für die versuchte Hilfe :) Mit der Datenbank hast du auch Recht. Aber wenn du genau liest, siehst du, dass ich dieses Problem bereits gelöst habe.  (Durch Verwendung einer anderen Im- und Exportmethode.) Jetzt hab ich aber immernoch Fragezeichen bei statischen Daten.

                Schöne Grüße
                Julian

                --
                "Real programmers can write assembly code in any language." - Larry Wall
                1. Hallo,

                  Danke für die versuchte Hilfe :) Mit der Datenbank hast du auch Recht. Aber wenn du genau liest, siehst du, dass ich dieses Problem bereits gelöst habe.  (Durch Verwendung einer anderen Im- und Exportmethode.) Jetzt hab ich aber immernoch Fragezeichen bei statischen Daten.

                  Deshalb sagte ich, dass deine statische Seiten in/mit der falschen Format gespeichert werden, wie die Beispiele es zeigen soll(t)en:

                  http://www.meta-text.net/test/ansi.html
                  http://www.meta-text.net/test/utf8.html
                  http://www.meta-text.net/test/unicode.html (UTF-16 Little Endian)

                  verlinke mal so eine Datei hier.

                  Grüße
                  Thomas

                  --
                  Surftip: kennen Sie schon Pipolino's Clowntheater?
                  http://www.clowntheater-pipolino.net/