Viennamade: Wie Umlaute ausdrücken?

Hallo liebe Forumsteilnehmer!

Meine Frage an Euch lautet: Wenn html-Dateien mit diesen Deklarationen

<?xml version="1.0" encoding="UTF-ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />

ausgestattet sind, muß/soll ich dann Umlaute weiterhin mittels Zeichenfolge (Bsp. ü) angeben, oder kann/darf ich Umlaute so schreiben wie das in unseren Breiten _ü_blich ist?
Die betreffenden Seiten werden auch von Usern anderer Kontinente besucht, mit PHP generiert und die Textinhalte kommen großteils aus einer MySQL-Datenbank - so dies alles überhaupt relevant ist.

Ich habe im Archiv und im selfhtml gesucht, aber ich fand keine Info, die meine Entscheidungsfrage mit ja/nein beantwortet hätte.

Danke
Viennamade

  1. <?xml version="1.0" encoding="UTF-ISO-8859-1"?>
    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />

    ausgestattet sind, muß/soll ich dann Umlaute weiterhin mittels Zeichenfolge (Bsp. ü) angeben, oder kann/darf ich Umlaute so schreiben wie das in unseren Breiten _ü_blich ist?

    Viennamade,
    Das darfst du.

    Die betreffenden Seiten werden auch von Usern anderer Kontinente besucht, mit PHP generiert und die Textinhalte kommen großteils aus einer MySQL-Datenbank - so dies alles überhaupt relevant ist.

    Ist es nicht.
    Gunnar

    --
    Good results come from experience; and experience comes from bad results.
    1. <?xml version="1.0" encoding="UTF-ISO-8859-1"?>
      <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />

      ausgestattet sind, muß/soll ich dann Umlaute weiterhin mittels Zeichenfolge (Bsp. ü) angeben, oder kann/darf ich Umlaute so schreiben wie das in unseren Breiten _ü_blich ist?

      Viennamade,
      Das darfst du.

      Danke Gunnar!
      Viennamade

  2. Hallo,

    <?xml version="1.0" encoding="UTF-ISO-8859-1"?>

    Von UTF-ISO-8859-1 habe ich noch nie gehoert.
    Entweder UTF-8 oder UTF-16.
    Oder aber ISO-8859-1

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />

    Falls Du ueberhaupt ein Meta-Tag einbaust, sollte die Angabe
    natuerlich mit der im XML-Prolog uebereinstimmen.
    Und falls der Webserver auch noch eine Charset-Angabe
    per HTTP ausgibt, sollte diese ebenfalls korrekt sein.
    (Die HTTP-Angabe ist am "staerksten".)

    muß/soll ich dann Umlaute weiterhin mittels Zeichenfolge (Bsp. ü) angeben, oder kann/darf ich Umlaute so schreiben wie das in unseren Breiten _ü_blich ist?

    Du darfst.
    Bei einer korrekten Charset-Angabe koennen auch uncodierte Sonderzeichen
    direkt im Quellcode stehen, siehe:
    http://www.dodabo.de/charset/#s2

    Gruesse,

    Thomas

    --
    Bitte keine Mails mit Fachfragen - dafuer gibt es das Forum!
    Ich mag es, wenn URLs verlinkt sind (</faq/#Q-19>).
    Oft gestellte PHP-Fragen beantwortet die dclp-FAQ bestens: http://www.dclp-faq.de/
    1. Hallo Thomas,

      <?xml version="1.0" encoding="UTF-ISO-8859-1"?>

      Von UTF-ISO-8859-1 habe ich noch nie gehoert.

      Siehst Du, man lernt nie aus;-) Nein, ISO-8859-1 meinte ich ..., Danke.

      <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />

      Und falls der Webserver auch noch eine Charset-Angabe
      per HTTP ausgibt, sollte diese ebenfalls korrekt sein.
      (Die HTTP-Angabe ist am "staerksten".)

      brrr, was heißt das? Ich verstehe das so: Der meine Seiten hostende Server kann etwas aussenden, was meine Deklaratioen hinfällig macht? Ist dem so? Und wie bringe ich in Erfahrung was der Server für Charset-Angaben aussendet?

      Bei einer korrekten Charset-Angabe koennen auch uncodierte Sonderzeichen direkt im Quellcode stehen, siehe:
      http://www.dodabo.de/charset/#s2

      Danke für den Link, hab ich genau gelesen, aber meine obige Frage ....

      Danke!
      Viennamade

      1. Hallo,

        Der meine Seiten hostende Server kann etwas aussenden, was meine Deklaratioen hinfällig macht?

        Ja. Zumindest das META-Tag.

        Gemaess der HTML 4.01-Spezifikation hat die Charset-Angabe,
        die vom Webserver im HTTP-Header angegeben wird, staerkeres Gewicht
        als die Angabe im META-Tag. (Dieses ist nur ein "Lueckenbuesser"):
        http://www.w3.org/TR/html401/charset.html#idx-character_encoding-6

        Bei XHTML-Dokumenten ist offenbar die Angabe in der XML-Deklaration
        am "staerksten":
        http://www.w3.org/TR/xhtml1/#C_9

        Das Verhalten eines Apache-Webservers kann man z.B. in der .htaccess
        mit den Direktiven AddDefaultCharset (fuer alle Text-Dateien)
        bzw. AddCharset (fuer Dateien mit einer bestimmten Endigung) festlegen.
        http://httpd.apache.org/docs/mod/core.html#adddefaultcharset
        http://httpd.apache.org/docs/mod/mod_mime.html#addcharset

        Und wie bringe ich in Erfahrung was der Server für Charset-Angaben aussendet?

        http://cgi.w3.org/cgi-bin/headers
        http://www.schroepl.net/cgi-bin/http_trace.pl

        Gruesse,

        Thomas

        --
        Bitte keine Mails mit Fachfragen - dafuer gibt es das Forum!
        Ich mag es, wenn URLs verlinkt sind (</faq/#Q-19>).
        Oft gestellte PHP-Fragen beantwortet die dclp-FAQ bestens: http://www.dclp-faq.de/
        1. Hallo!

          Gemaess der HTML 4.01-Spezifikation hat die Charset-Angabe,
          die vom Webserver im HTTP-Header angegeben wird, staerkeres Gewicht als die Angabe im META-Tag.

          Bei XHTML-Dokumenten ist offenbar die Angabe in der XML-Deklaration »» am "staerksten":

          Das Verhalten eines Apache-Webservers kann man z.B. in der .htaccess
          mit den Direktiven AddDefaultCharset (fuer alle Text-Dateien)
          bzw. AddCharset (fuer Dateien mit einer bestimmten Endigung) festlegen.

          Und wie bringe ich in Erfahrung was der Server für Charset-Angaben aussendet?
          http://cgi.w3.org/cgi-bin/headers
          http://www.schroepl.net/cgi-bin/http_trace.pl

          Danke für das Licht, Thomas!
          Viennamade

  3. Meine Frage an Euch lautet: Wenn html-Dateien mit diesen Deklarationen

    <?xml version="1.0" encoding="UTF-ISO-8859-1"?>
    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />

    ausgestattet sind, muß/soll ich dann Umlaute weiterhin mittels Zeichenfolge (Bsp. ü) angeben, oder kann/darf ich Umlaute so schreiben wie das in unseren Breiten _ü_blich ist?

    Nein. Du darfst sie aber so schreiben, wie es der angegebene Zeichensatz erlaubt.

    Warum das ein Unterschied ist? Weil es unangenehm viele Windows-Benutzer gibt, die meinen, die Angabe iso-8859-1 sei "üblich" und dann die Welt mit Eurozeichen und anderen Dingen gemäß windows-1252 beglücken, die sich mit iso-8859-1 überhaupt nicht darstellen lassen.
    Das, was als Zeichensatz deklariert wird, muß nichts mit dem zu tun haben, was das Betriebssystem des Texteingebers verwendet (dies gilt sowohl für die heimische Erstellung der Seiten als auch für per <input> oder <textarea> eingegebene Daten).

    Bitte achte darauf. Oder verwende einfach weiter die HTML-Umschreibungen, es gibt in PHP dankenswerter Weise die Funktion htmlentities().

    Es sei vielleicht auch noch angemerkt, daß der Server unter Umständen selber eine Zeichensatzangabe ausspuckt, am ehesten zu erkennen in den Seiteninformationen des Browsers. Achte darauf, daß sich das nicht in die Quere kommt.

    1. Hallo, Du allwissende Müllhalde!

      Nein. Du darfst sie aber so schreiben, wie es der angegebene Zeichensatz erlaubt.

      Warum das ein Unterschied ist? Weil es unangenehm viele Windows-Benutzer gibt, die meinen, die Angabe iso-8859-1 sei "üblich" und dann die Welt mit Eurozeichen und anderen Dingen gemäß windows-1252 beglücken, die sich mit iso-8859-1 überhaupt nicht darstellen lassen.
      Das, was als Zeichensatz deklariert wird, muß nichts mit dem zu tun haben, was das Betriebssystem des Texteingebers verwendet (dies gilt sowohl für die heimische Erstellung der Seiten als auch für per <input> oder <textarea> eingegebene Daten).

      Bitte achte darauf. Oder verwende einfach weiter die HTML-Umschreibungen, es gibt in PHP dankenswerter Weise die Funktion htmlentities().

      Äh, Du wirst erstaunt sein, ich habe Dein Posting mindestens 20x gelesen (liegt sicher an mir, nicht an Deinem Text). Erst jetzt beginne ich es zu verstehen, und zwar so:
      1. Ich darf die Umlaute in den Quelltext _tippen_.
      2. Ich möge aufpassen, nur Zeichen reinzutippen die im angegebenen Zeichensatz drinnen sind, und
      3. ich soll ich gewarnt sein, daß der Zeichenvorrat der Anwender (Input/Textarea) größer/anders als jener von ISO-8859-1 (bzw. dem verwendeten) ist.

      Alles klar,
      Danke!
      Viennamade