Andrea B.: Benanntes Zeichen für Prozent (%)?

Wenn ich das Prozentzeichen auf einer Webseite im Text verwende, muss ich es da umschreiben wie z.B. ä mit ä ?

Wenn ja, wie lautet es?

Auf der Seite http://de.selfhtml.org/html/referenz/zeichen.htm hab ich das %-Zeichen nicht gefunden.

  1. nein, musst du nicht. Prinzipiell musst du nur drei Zeichen umschreiben: <, > und &.
    ä, ö, und ü sollten nicht umschrieben werden. Stattdessen empfiehlt es sich einen Zeichensatz zu verwenden, der diese Zeichen beinhaltet. Bevorzugt wäre das UTF-8, aber Latin1 geht auch.

    Gruß, Peter

    1. nein, musst du nicht. Prinzipiell musst du nur drei Zeichen umschreiben: <, > und &.
      ä, ö, und ü sollten nicht umschrieben werden. Stattdessen empfiehlt es sich einen Zeichensatz zu verwenden, der diese Zeichen beinhaltet. Bevorzugt wäre das UTF-8, aber Latin1 geht auch.

      Gruß, Peter

      Danke für die schnellen zahlreichen Antworten.
      Auch gut wenn ich mir nicht immer extra die Arbeit machen muss Umlaute etc. zu umschreiben.
      Als Zeichensatz hab ich ISO-8859-1. Steht auf jeder Seite, also sollte der Browser wissen was er anzeigen soll.

      1. Ich grüsse den Cosmos,

        Als Zeichensatz hab ich ISO-8859-1. Steht auf jeder Seite, also sollte der Browser wissen was er anzeigen soll.

        Ausschlaggegbend ist der Zeichensatz, der im Header steht.

        Möge das "Self" mit euch sein

        --
        Neulich dachte ich mir, einmal S/M ausprobieren wäre eine tolle Erfahrung. Also hab ich Windows gebootet ...
        ie:{ br:> fl:| va:| ls:& fo:{ rl:( n4:{ de:] ss:) ch:? js:| mo:) sh:( zu:)
        1. Genau dort steht er auch, wo denn sonst.

          Ausschlaggegbend ist der Zeichensatz, der im Header steht.

          1. Hallo,

            Genau dort steht er auch, wo denn sonst.

            Das ganze ist leider ein bisschen komplexer.

            Ausschlaggebend ist zunächst das Dokument, bzw. dessen Editierprogramm.

            Das Dokument muss bei der Eingabe in einer Zeichencodierung codiert werden (z.B. utf-8), zu dieser Codierung gehört auch ein Zeichensatz (z.B. Unicode).

            Nun muss man dem Browser verständlich machen, welche Codierung man verwendet hat, damit er den richtigen Zeichensatz verwednet.

            Höchste Priorität hat dabei der HTTP-Header (das hat noch nichts mit HTML zu tun). Fehlt der HTTP-Header, versucht der Browser, die Zeichencodierung automatisch zu erkennen (deshalb ist es wichtig, dass das Dokument selbst richtig codiert ist).
            Die Meta-Angabe (und auch die XML-Deklaration in XML-Dokumenten) müssen zwar ebenfalls die Zeichencodierung enthalten, besitzen aber eine geringere Priorität.

            Für die ISO-Zeichensätze müsste die normale Eingabe in den Editor außreichen. Allerdings empfehle ich dennoch utf-8 als Zeichencodierung, weil Unicode einfach alle Zeichen enthält, es kaum Browser gibt, die nicht Unicode-fähig sind, und das Format einfach zukunftsfähig ist.

            Gruß;

            1. Danke. Werde das im Hinterkopf behalten und versuche dran zu denken vor dem nächsten Projekt Notepad2 auf Unicode oder UTF-8 umzustellen. Bisher werden die Dateien in ANSI gespeichert.

              Was ist eher zu empfehlen, Unicode, Unicode Big Endian, UTF-8 oder UTF-8 mit Signatur?

              Das ganze ist leider ein bisschen komplexer.

              ...

              1. Hallo,

                Was ist eher zu empfehlen, Unicode, Unicode Big Endian, UTF-8 oder UTF-8 mit Signatur?

                Leider verwende ich einen anderen Editor, aber ich denke "UTF-8" müsste richtig sein. Mit Signatur meint vermutlich mit "Byte Order Mark", die aber eher im Weg stehen kann und darüber hinaus optional ist.

                Gruß;

          2. Ich grüsse den Cosmos,

            Genau dort steht er auch, wo denn sonst.

            Ich spreche nicht von Angaben im head-Bereich des HTML-Codes, sondern vom Dateiheader, der _vor_ dem Quelltext gesendet wird.

            Möge das "Self" mit euch sein

            --
            Neulich dachte ich mir, einmal S/M ausprobieren wäre eine tolle Erfahrung. Also hab ich Windows gebootet ...
            ie:{ br:> fl:| va:| ls:& fo:{ rl:( n4:{ de:] ss:) ch:? js:| mo:) sh:( zu:)
  2. Wenn ich das Prozentzeichen auf einer Webseite im Text verwende, muss ich es da umschreiben wie z.B. ä mit &auml; ?

    Wenn ja, wie lautet es?

    Auf der Seite http://de.selfhtml.org/html/referenz/zeichen.htm hab ich das %-Zeichen nicht gefunden.

    Ich auch nicht, aber wenn Du ganz sicher gehen willst, notiere 1 v. 100 ;-)

    roro

  3. Hallo,

    Wenn ich das Prozentzeichen auf einer Webseite im Text verwende, muss ich es da umschreiben wie z.B. ä mit &auml; ?

    Nein. Tatsächlich muss auch ä nicht umschrieben werden, wenn du die richtige Zeichencodierung bestimmst.

    Umschrieben bzw. maskiert werden müssen nur fünf bestimmte Zeichen, nämlich: < (&lt;), > (&gt;), & (&amp;), " (&quot;) und ' (&#39; bzw. &#x27;)

    Wenn ja, wie lautet es?

    &#37; bzw &#x25;

    Gruß;

    1. Tach,

      Umschrieben bzw. maskiert werden müssen nur fünf bestimmte Zeichen, nämlich: < (&lt;), > (&gt;), & (&amp;), " (&quot;) und ' (&#39; bzw. &#x27;)

      umschrieben werden müssen nur & und <, die anderen nur unter speziellen Umständen, nämlich innerhalb eines Tags.

      mfg
      Woodfighter

  4. Hi!

    Wenn ich das Prozentzeichen auf einer Webseite im Text verwende, muss ich es da umschreiben wie z.B. ä mit &auml; ?

    Wenn ja, wie lautet es?

    Die Entität wäre dann " &percnt; ", wird allerdings von wenigen Browsern unterstützt.
    Zur Not müsste &#37; funktionieren

    Auf der Seite http://de.selfhtml.org/html/referenz/zeichen.htm hab ich das %-Zeichen nicht gefunden.

    Google hilft meist.

    mfG

    --
    sh:( fo:§ ch:{ rl:? br:> n4:# ie:} mo:? va:) de:µ zu:| fl:( ss:{ ls:~ js:)
    "And all those exclamation marks, you notice? Five? A sure sign of someone who wears his underpants on his head."
    (Terry Pratchett)
    1. Hello out there!

      Die Entität wäre dann " &percnt; ", wird allerdings von wenigen Browsern unterstützt.

      Eine Entität 'percnt' gibt es in HTML nicht.

      Zur Not müsste &#37; funktionieren

      Zur Not? Müsste? Numerische Zeichenrefenrenzen funktionieren immer.

      See ya up the road,
      Gunnar

      --
      „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
      1. Eine Entität 'percnt' gibt es in HTML nicht.

        Aber in SGML, siehe General Entities. Da könnte man ja durchaus zu der irrigen Annahme kommen, dass es diese auch in HTML als einer Anwendung von SGML gibt.

        Aber das nur am Rande :)

        Siechfred

        --
        Ich bin strenggenommen auch nur interessierter Laie. (molily)
        1. Hello out there!

          Aber in SGML, siehe General Entities.

          Seltsame Referenz: „&bse; rinderwahnsinn“

          Also dem Dokument würde ich nicht vertrauen, welche Enitities in SGML festgelegt sind.

          See ya up the road,
          Gunnar

          --
          „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
          1. Hi!

            Seltsame Referenz: „&bse; rinderwahnsinn“

            Also dem Dokument würde ich nicht vertrauen, welche Enitities in SGML festgelegt sind.

            Ich hatte meine Informationen von http://www.flyingtux.de/html/tools_html_sonderzeichen.html. Die Seite erschien mir relativ glaubwürdig.

            mfG

            --
            sh:( fo:§ ch:{ rl:? br:> n4:# ie:} mo:? va:) de:µ zu:| fl:( ss:{ ls:~ js:)
            "And all those exclamation marks, you notice? Five? A sure sign of someone who wears his underpants on his head."
            (Terry Pratchett)
        2. Hallo Siechfred,

          Eine Entität 'percnt' gibt es in HTML nicht.

          Aber in SGML, siehe General Entities.

          Die meisten Entities, die dort aufgeführt sind, sind zwar Teil des SGML-Standards (allerdings auch nicht alle, die Seite ist wirklich mit Vorsicht zu genießen), befinden sich dort aber in Annex D, Abschnitt 4. Dort werden diverse "Entity Sets" definiert, die man sich als SGML-DTD-Autor bei Bedarf (!) dazuladen kann. Dort gibt es in Unterabschnitt D.4.3.1 "Numeric and Special Graphic Characters" eine ganze Reihe von diversen Entities, unter anderem auch

          <!ENTITY percnt SDATA "[percnt]"--=percent sign-->

          (das würde in % expandieren, SDATA ist ne SGML-Eigenheit)

          Allerdings muss man wie gesagt dieses Entity Set erst dazuladen, dies geschieht in der Regel (so wird's auch an der Stelle des SGML-Standards beschrieben) so:

          <!ENTITY % ISOnum PUBLIC "IS0 8879=1986//ENTITIES Numeric and Special Graphic//EN">
          %ISOnum;

          Diese Zeile ist jedoch in keiner Form in der HTML-DTD enthalten - dort werden *alle* Entities nochmal *separat* vom SGML-Standard definiert und eingebunden:

          Definition der Entities: In den 3 .ent-Dateien, die hier zusammengestellt sind:
            http://www.w3.org/TR/html401/sgml/entities.html
          Einbinden: http://www.w3.org/TR/html401/sgml/dtd.html#HTMLlat1 und darunter.

          HTML nutzt also die vordefinierten SGML-Teile nicht, sondern definiert sich alle Entities (inklusive (!) &quot;, &gt;, &lt;, &amp;) selbst (die wären auch in obigem ISOnum drin).

          Insofern sind beide Aussagen korrekt: Zum einen gibt es in HTML tatsächlich KEINE Entity &percnt;, zum anderen ist &percnt; eine Entity, die im SGML-Standard definiert wird. Nur heißt Anwendung von SGML halt nicht, dass *alles*, was in SGML möglich ist, in HTML auch umgesetzt wird - &percnt; gehört zu den Dingen, die in HTML nicht umgesetzt sind.

          Viele Grüße,
          Christian

          1. Hi!

            Danke für den ausführlichen Beitrag, sehr interessant.

            Diese Zeile ist jedoch in keiner Form in der HTML-DTD enthalten - dort werden *alle* Entities nochmal *separat* vom SGML-Standard definiert und eingebunden:

            Gibt es einen plausiblen Grund dafür, dass man nicht einfach die SGML-Entities übernommen hat?

            mfG

            --
            sh:( fo:§ ch:{ rl:? br:> n4:# ie:} mo:? va:) de:µ zu:| fl:( ss:{ ls:~ js:)
            "And all those exclamation marks, you notice? Five? A sure sign of someone who wears his underpants on his head."
            (Terry Pratchett)
            1. Hallo,

              Diese Zeile ist jedoch in keiner Form in der HTML-DTD enthalten - dort werden *alle* Entities nochmal *separat* vom SGML-Standard definiert und eingebunden:
              Gibt es einen plausiblen Grund dafür, dass man nicht einfach die SGML-Entities übernommen hat?

              Keine Ahnung, frag die HTML-WG.

              Könnte aber etwas damit zu tun haben, dass die SGML-Spezifikation (zumindest soweit ich sie verstanden habe, ich habe sie mir nicht GENAU angesehen) losgelöst von Zeichensätzen ist. SGML verlangt lediglich, dass eine Anwendung von SGML definiert, welchen Zeichensatz sie verwenden will. HTML selbst definiert ja ISO 10640 (a.k.a. Unicode) als Zeichensatz von HTML. Achtung: Zeichensatz != Zeichenkodierung, d.h. der Zeichensatz von HTML-Dokumenten ist *immer* UCS (Universal Character Set), die Zeichenkodierung, d.h. wie die Zeichen selbst auf die Platte geschrieben werden, kann man selbst festlegen (und dort z.B. ASCII, ISO-8859-1, UTF-8, etc. angeben) - näheres dazu unter http://www.w3.org/TR/html401/charset.html.

              Wenn jetzt jedoch Entities in der SGML-Spezifikation definiert werden, dann können diese Entities eben *nicht* wie in der HTML-Spezifikation als &#XX; definiert werden, weil eben noch kein Zeichensatz ausgewählt ist, der Code-Points für die entsprechenden Zeichen definieren würde.

              Wie legt dann die SGML-Spezifikation die entsprechenden Entities dann überhaupt fest? Eben über dieses SDATA - und das, was in den eckigen Klammern im SDATA drin steht, bezieht sich auf irgend einen ISO-Standard (der *nicht* Unicode ist), um festzulegen, welche Zeichen gemeint sind.

              Das Problem ist, dass alle Hersteller von HTML-Verarbeitungstools (inkl. Browsern) dann eben diesen ISO-Standard kennen müssten *und* zudem noch ein Mapping dieses ISO-Standards auf das aktuelle Betriebsystem besitzen müssten. Ferner weiß ich nicht, ob der ISO-Standard (ISO 6937 btw. - kostet 132 CHF ~ 82 €, wenn Du interessiert bist) sich überhaupt komplett in den Unicode-Standard, der sich ja immer weiter durchgesetzt hat, hineinmappen lässt. Wie auch immer: Wenn jemand die HTML-Spezifikation liest und dann aus den .ent-Dateien die Codepoints herausliest, dann kann er unter jedem aktuellen Betriebsystem sofort zuordnen, welches Zeichen damit gemeint ist - Unicode ist halt einfach etabliert. Wenn HTML die SGML-Entities übernommen hätte, dann wäre es viel mehr Arbeit, alle Entities aufzulösen (zumal man das mittels der .ent-Dateien sogar automatisiert machen kann - bei den in der SGML-Spec definierten Entities müsste man das manuell durchgehen).

              Gut, Du könntest auch fragen, warum die HTML-Spec-Autoren nicht einfach alle SGML-Entities übernommen haben in ihre .ent-Dateien und sie sich *einmal* die Mühe gemacht haben, ein Mapping zu erstellen - gute Frage, auch darauf kann ich Dir keine Antwort geben, frag die HTML-WG.

              Viele Grüße,
              Christian

      2. Hi!

        Zur Not müsste &#37; funktionieren

        Zur Not? Müsste? Numerische Zeichenrefenrenzen funktionieren immer.

        Gut zu wissen. Ich wollte nur ausdrücken, dass ich nicht ganz sicher war. Und sperrige Akronyme wie "afaik" kann ich btw nicht leiden ;-)
        (scnr)

        mfG

        --
        sh:( fo:§ ch:{ rl:? br:> n4:# ie:} mo:? va:) de:µ zu:| fl:( ss:{ ls:~ js:)
        "And all those exclamation marks, you notice? Five? A sure sign of someone who wears his underpants on his head."
        (Terry Pratchett)