Pete: UTF-8 Bindestrich

Hi,

auf bspw. http://de.wikipedia.org/wiki/Bier findet sich im Title-Element: <title>Bier – Wikipedia</title>

Nun ist es so, wenn ich es jetzt hier reinkopiere ist der Bindestrich ganz normal zu sehen. Wenn ich allerdings den Quelltext der Seite anschaue (Win-Notepad) sehe ich stattdessen lediglich ein Rechteck. Und zwar genauer gesagt ein massives schwarzes Rechteck.

Nun nehm ich an das liegt an UTF-8, zumal es ja hier im Textfeld als Bindestrich angezeigt wird. Aber dem scheint nicht so zu sein, denn in vielen Editoren die kein UTF-8 kennen erscheint es auch als Bundestrich. Ebenso wenn ich es hier http://de.selfhtml.org/html/formulare/anzeige/textarea.htm hinein kopiere, ist ja auch nicht UTF-8 codiert.

Also gibt es Programme wie Win-Notepad die zeigen, trotz UTF-8 Unterstützung, den Bindestrich als Rechteck an, während  andere sogar ohne UTF-8 es normal anzeigen, wie kann das sein?

Und gibt es noch mehr so seltsame Ereignisse wie den Bindestrich mit UTF-8?

Pete

  1. @@Pete:

    Also gibt es Programme wie Win-Notepad die zeigen, trotz UTF-8 Unterstützung, den Bindestrich als Rechteck an, während  andere sogar ohne UTF-8 es normal anzeigen, wie kann das sein?

    Dein Notepad verwendet offenbar eine Schriftart, in der keine Glyphe für den Bindestrich vorhanden ist. Stell mal unter „Format“ eine andere ein!

    Live long and prosper,
    Gunnar

    --
    Erwebsregel 208: Manchmal ist das einzige, was gefährlicher als eine Frage ist, eine Antwort.
    1. @@Gunnar Bittersmann:

      Dein Notepad verwendet offenbar eine Schriftart, in der keine Glyphe für den Bindestrich vorhanden ist. Stell mal unter „Format“ eine andere ein!

      Moment, jetzt fall ich auch noch auf dich herein!

      Für den Bindestrich '-' U+002D ist ganz sicher ein Glyphe vorhanden, nicht aber für den Gedankenstrich '–' U+2013, der in "<title>Bier – Wikipedia</title>" Verwendung fand.

      Live long and prosper,
      Gunnar

      --
      Erwebsregel 208: Manchmal ist das einzige, was gefährlicher als eine Frage ist, eine Antwort.
      1. Hi Gunnar,

        Dein Notepad verwendet offenbar eine Schriftart, in der keine Glyphe für den Bindestrich vorhanden ist. Stell mal unter „Format“ eine andere ein!

        Ja stimmt, normalerweise nutze ich fixedsys und habe das Problem, mit courier ebenso, allerdings mit arial klappt es.

        Moment, jetzt fall ich auch noch auf dich herein!

        Wieso auf mich?

        Für den Bindestrich '-' U+002D ist ganz sicher ein Glyphe vorhanden, nicht aber für den Gedankenstrich '–' U+2013, der in "<title>Bier – Wikipedia</title>" Verwendung fand.

        Das ist jetzt schon ein wenig kompliziert. Also wenn ich es richtig verstehe, dann ist dieses Zeichen nicht der Bindestrich der Tastatur sondern ein gleich aussehendes. Und das nennt sich dann wohl Gedankenstrich. Aber gibt es dafür auch eine Taste auf dem Keyboard?

        Noch eine Frage, aus der Info deiner Links heraus, scheint der Bindestrich, also der rechts neben dem Punkt auch nicht das Gleiche zu sein wie das Minuszeichen, richtig?

        Und da ärgere ich mich immer wieder wenn irgendwelche Anbieter Login-Passworte generieren die O,L,U usw verwenden, weil je nach Gross/Kleinschreibung Schrifttyp nicht unterschieden werden kann mit 0,I,V, usw.., aber hiergegen ist das ja noch harmlos.

        Pete

        1. Das ist jetzt schon ein wenig kompliziert. Also wenn ich es richtig verstehe, dann ist dieses Zeichen nicht der Bindestrich der Tastatur sondern ein gleich aussehendes. Und das nennt sich dann wohl Gedankenstrich. Aber gibt es dafür auch eine Taste auf dem Keyboard?

          auf einem 101-tasten-keyboard sind pro taste im idealfall 3 zeichen eingebbar (mit shift bzw altgr) - blauäugig betrachtet kann man also 303 verschiedene zeichen direkt eingeben

          der unicodebereich umfasst theoretisch 2^32 zeichen, also 4.294.967.296 also fast 4.3 milliarden zeichen - die kannst du nicht als taste am keyboard haben

          aber sie lassen sich über shortcuts oder zeichentabellen eingeben

          Noch eine Frage, aus der Info deiner Links heraus, scheint der Bindestrich, also der rechts neben dem Punkt auch nicht das Gleiche zu sein wie das Minuszeichen, richtig?

          ein minus ist kein bindestrich, kein trennstrich und kein gedankenstrich - genausowenig ist ein apostroph ein aktzent (grave, akut) oder ein hochkomma in der praxis wird da allerdings selten unterschieden (ich gestehe, ich tus auch nicht)

          Und da ärgere ich mich immer wieder wenn irgendwelche Anbieter Login-Passworte generieren die O,L,U usw verwenden, weil je nach Gross/Kleinschreibung Schrifttyp nicht unterschieden werden kann mit 0,I,V, usw.., aber hiergegen ist das ja noch harmlos.

          darum sollte man aus typischen passwordgenerierroutinen solche "kritischen" zeichen entfernen, damit das garnicht erst passieren kann ;)

          1. Hi,

            der unicodebereich umfasst theoretisch 2^32 zeichen, also 4.294.967.296 also fast 4.3 milliarden zeichen - die kannst du nicht als taste am keyboard haben

            also nicht auf Anhieb dabei.

            aber sie lassen sich über shortcuts oder zeichentabellen eingeben

            »»

            Wenn die Priorität dieses Zeichens so gering ist, warum nutzt Wikipedia denn sowas anstatt den Bindestrich?

            ein minus ist kein bindestrich, kein trennstrich und kein gedankenstrich - genausowenig ist ein apostroph ein aktzent (grave, akut) oder ein hochkomma in der praxis wird da allerdings selten unterschieden (ich gestehe, ich tus auch nicht)

            Dennoch akzeptieren alle mir bekannten Programme eben genau diesen Bindestrich als Minuszeichen:
            zb. PHP echo 5-2; oder http://www.google.de/search?q=5-2

            Warum?

            darum sollte man aus typischen passwordgenerierroutinen solche "kritischen" zeichen entfernen, damit das garnicht erst passieren kann ;)

            Ich persönlich handhabe das genau so;-)

            Pete

            1. Wenn die Priorität dieses Zeichens so gering ist, warum nutzt Wikipedia denn sowas anstatt den Bindestrich?

              das frag die entwickler - mediawiki ist teilweise typographie angeht ein graus ;)

              Dennoch akzeptieren alle mir bekannten Programme eben genau diesen Bindestrich als Minuszeichen:
              zb. PHP echo 5-2; oder http://www.google.de/search?q=5-2

              Warum?

              vermutlich weil man da von ausgeht, dass das ascii-zeichen bzw unicode U+002D auf jeder tastatur zu finden ist und nicht jeder weiss, dass es ein mathematisch korrektes minus-zeichen gibt U+2212

              genauso verwenden die meisten scriptsprachen * als mathematischen operator für multiplikationen obwohl der stern (asterisk) nichtmal ansatzweise einem mal-zeichen (U+00D7) entspricht

            2. echo $begrüßung;

              ein minus ist kein bindestrich, kein trennstrich und kein gedankenstrich - genausowenig ist ein apostroph ein aktzent (grave, akut) oder ein hochkomma in der praxis wird da allerdings selten unterschieden (ich gestehe, ich tus auch nicht)
              Dennoch akzeptieren alle mir bekannten Programme eben genau diesen Bindestrich als Minuszeichen:
              zb. PHP echo 5-2; oder http://www.google.de/search?q=5-2
              Warum?

              Du kannst sogar weiter einschränkend sagen: nur dieses Bindestrich-Minus. Das ist das einzige Zeichen, das wie in Minus aussieht und "seit Anfang an" — sprich: ASCII — vorhanden war.

              Mit dem echten Minus kann Google nicht rechnen: http://www.google.de/search?q=5−2. Mit dem Viertel- und Halbgeviertstrich ebenso wenig — hätt' mich auch gewundert, wenn.

              echo "$verabschiedung $name";

          2. @@suit:

            ein minus ist kein bindestrich, kein trennstrich und kein gedankenstrich - genausowenig ist ein apostroph ein aktzent (grave, akut) oder ein hochkomma in der praxis wird da allerdings selten unterschieden (ich gestehe, ich tus auch nicht)

            Zwischen Klein- und Großbuchstaben zu unterscheiden wäre schon mal ein Anfang. SCNR.

            Live long and prosper,
            Gunnar

            --
            Erwebsregel 208: Manchmal ist das einzige, was gefährlicher als eine Frage ist, eine Antwort.
        2. @@Pete:

          Das ist jetzt schon ein wenig kompliziert. Also wenn ich es richtig verstehe, dann ist dieses Zeichen nicht der Bindestrich der Tastatur sondern ein gleich aussehendes.

          Gleich aussehend? Das mag bei einigen wenigen Schriftarten (besonders bei dicktengleichen wie bspw. Courier) so sein; bei anderen unterscheiden sich '-' U+002D und '–' U+2013 deutlich.

          Und das nennt sich dann wohl Gedankenstrich. Aber gibt es dafür auch eine Taste auf dem Keyboard?

          [Alt] gedrückt halten und auf dem Ziffernblock(!) [0][1][5][0] tippen.

          (Anwendungen wie M$ Word machen aus [-][-] einen Gedankenstrich '–'.)

          Noch eine Frage, aus der Info deiner Links heraus, scheint der Bindestrich, also der rechts neben dem Punkt auch nicht das Gleiche zu sein wie das Minuszeichen, richtig?

          Richtig. '-' U+002D ist das Minuszeichen in Programmiersprachen. In Texten sollte man das typographisch richtige Minuszeichen U+2212 '−' einsetzen; dieses passt auch in Höhe und Breite zum Pluszeichen U+002B '+'.

          BTW, in HTML lassen sich diese Zeichen escapen. Anstelle der numerischen Zeichenreferenzen kann man auch die http://de.selfhtml.org/html/referenz/zeichen.htm@title=Zeichen-Entity-Referenzen &ndash; bzw. &minus; verwenden.

          Live long and prosper,
          Gunnar

          --
          Erwebsregel 208: Manchmal ist das einzige, was gefährlicher als eine Frage ist, eine Antwort.
          1. Hallo Gunnar!

            Gleich aussehend? Das mag bei einigen wenigen Schriftarten (besonders bei dicktengleichen wie bspw. Courier) so sein; bei anderen unterscheiden sich '-' U+002D und '–' U+2013 deutlich.

            Die Schriftart »Trebuchet MS« ist da ganz eigenartig, testet das mal:

            <p style="font-family: 'Trebuchet MS'">Test Trebuchet: Bindestrich vs. &amp;ndash;: - &ndash; | <strong>- &ndash;</strong></p>
            <p style="font-family: Verdana">Test Verdana: Bindestrich vs. &amp;ndash;: - &ndash; | <strong>- &ndash;</strong></p>

            Bei Trebuchet ist ein Unterschied nur in Fettschrift erkennbar (ich habe natürlich keine Pixel gezählt *g*).

            Viele Grüße aus Frankfurt/Main,
            Patrick

            --

               Diblom
            _ - jenseits vom delirium - _
            [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
            Nichts ist unmöglich? Doch!
            Heute schon gegökt?
          2. Hallo.

            Gleich aussehend? Das mag bei einigen wenigen Schriftarten (besonders bei dicktengleichen wie bspw. Courier) so sein; bei anderen unterscheiden sich '-' U+002D und '–' U+2013 deutlich.

            Das lässt sich angesichts der Menge von Schriftarten leider kaum verallgemeinern, auch wenn das natürlich gut wäre.

            Und das nennt sich dann wohl Gedankenstrich. Aber gibt es dafür auch eine Taste auf dem Keyboard?

            [Alt] gedrückt halten und auf dem Ziffernblock(!) [0][1][5][0] tippen.

            [Alt] + [-] ist logischer und funktioniert besser, einen Mac vorausgesetzt.

            (Anwendungen wie M$ Word machen aus [-][-] einen Gedankenstrich '–'.)

            Schön, dass sich bei Microsoft überhaupt etwas Gedanken macht. Ich hätte denen ja zugetraut, dass [-][-] [+] ergibt.

            BTW, in HTML lassen sich diese Zeichen escapen. Anstelle der numerischen Zeichenreferenzen kann man auch die http://de.selfhtml.org/html/referenz/zeichen.htm@title=Zeichen-Entity-Referenzen &ndash; bzw. &minus; verwenden.

            Für Templates mag das funktionieren, aber der eigentliche Inhalt der Seiten sollte doch lieber als Klartext vorliegen, um ihn nicht für unterschiedliche Zwecke ständig neu überarbeiten zu müssen.
            MfG, at

            1. @@at:

              (Anwendungen wie M$ Word machen aus [-][-] einen Gedankenstrich '–'.)

              Schön, dass sich bei Microsoft überhaupt etwas Gedanken macht.

              *g*

              Ich hätte denen ja zugetraut, dass [-][-] [+] ergibt.

              Stimmt doch: a - (-b) = a + b

              Anstelle der numerischen Zeichenreferenzen kann man auch die http://de.selfhtml.org/html/referenz/zeichen.htm@title=Zeichen-Entity-Referenzen &ndash; bzw. &minus; verwenden.

              Für Templates mag das funktionieren, aber der eigentliche Inhalt der Seiten sollte doch lieber als Klartext vorliegen,

              '&minus;42' könnte klarer sein als '-42', welches Zeichen da nun vor der 42 steht.

              „Eine besonders nützliche Rolle spielen Escapes für die Repräsentation von Zeichen, die in der Darstellung nicht sichtbar oder nicht unterscheidbar sind.“ [QA-ESCAPES]

              um ihn nicht für unterschiedliche Zwecke ständig neu überarbeiten zu müssen.

              ?? Spielst du darauf an:

              „Die Verwendung von Zeichen-Entity-Referenzen in XML wird problematisch, wenn die Entities extern (nicht im Dokument selbst) definiert werden und die XML-Prozessoren die externen Dateien nicht lesen. Dann werden die Entity-Referenzen nicht durch die entsprechenden Zeichen ersetzt. Wenn wirklich Escapes benötigt werden, ist es deshalb sicherer, numerische Referenzen zu verwenden oder die benötigten Entities im Dokument selbst zu definieren.“ [ibid.]

              Live long and prosper,
              Gunnar

              --
              Erwebsregel 208: Manchmal ist das einzige, was gefährlicher als eine Frage ist, eine Antwort.
              1. Tach.

                @@at:

                Sehr schön. :)

                --
                Once is a mistake, twice is Jazz.
                1. Hallo.

                  @@at:

                  Sehr schön. :)

                  Yep.
                  MfG, at

              2. Hallo.

                Für Templates mag das funktionieren, aber der eigentliche Inhalt der Seiten sollte doch lieber als Klartext vorliegen,

                '&minus;42' könnte klarer sein als '-42', welches Zeichen da nun vor der 42 steht.

                Die Frage lautet da natürlich: Für wen? Der Leser betrachtet ja nicht den Quellcode.

                „Eine besonders nützliche Rolle spielen Escapes für die Repräsentation von Zeichen, die in der Darstellung nicht sichtbar oder nicht unterscheidbar sind.“ [QA-ESCAPES]

                Die Frage lautet da natürlich wieder: Für wen: Der Autor oder Redakteur sollte den Umgang mit seinem Textverabritungsprogramm so weit beherrschen, dass der Sonderzeichen wie Absätze, Tabulatoren, Leerzeichen etc. anzeigen lässt. Das sollte er schon deshalb tun, damit unschöne Umbrüche vermieden werden, da ja ein [Return] das gleiche bewirkt wie ein [Space] am Zeilenende, obwohl das innerhalb des Layouts plötzlich ganz anders aussehen kann.

                um ihn nicht für unterschiedliche Zwecke ständig neu überarbeiten zu müssen.

                ?? Spielst du darauf an:

                „Die Verwendung von Zeichen-Entity-Referenzen in XML wird problematisch, wenn die Entities extern (nicht im Dokument selbst) definiert werden und die XML-Prozessoren die externen Dateien nicht lesen. Dann werden die Entity-Referenzen nicht durch die entsprechenden Zeichen ersetzt. Wenn wirklich Escapes benötigt werden, ist es deshalb sicherer, numerische Referenzen zu verwenden oder die benötigten Entities im Dokument selbst zu definieren.“ [ibid.]

                Nein, eigentlich nicht. Ich spreche aus der Erfahrung, dass händisch oder mittels oftmals ungeeigneter Software nachträglich veränderte Texte auf einmal eine Mischung unterschiedlicher Schreibweisen ergeben, die zwar die professionelle Weiterverarbeitung nicht verhindern, aber die Arbeitsabläufe in Redaktionen beeiträchtigen können. Da wird dann gern mal ein Text aus einem Eingabefeld des Web-CMS in das Textverarbeitungsprogramm kopiert und mittels Suchen und Ersetzen wegen der Entities nur die Hälfte ersetzt, mit irgendwelchem TeX-Salat vermischt, das Semikolon beim Kopieren vergessen oder vom Browser großzügig hinzuinterpretierte Semikola fehlen im Original und ergeben Zeichensalat ... Sicher kann man jeden einzelnen dieser Fehler irgendwie ausfindig machen und korrigieren, vielleicht kann man das auch ein Stück weit automatisieren, aber mit der Eingabemethode 1:1 spart man sich diesen Aufwand. Sicher, man muss dafür den Autoren und Redakteuren die geeigneten Kenntnisse und Werkzeuge an die Hand, aber das erfordert der Einsatz der Entities ja ebenfalls.
                MfG, at

        3. echo $begrüßung;

          Für den Bindestrich '-' U+002D ist ganz sicher ein Glyphe vorhanden, nicht aber für den Gedankenstrich '–' U+2013, der in "<title>Bier – Wikipedia</title>" Verwendung fand.
          Das ist jetzt schon ein wenig kompliziert. Also wenn ich es richtig verstehe, dann ist dieses Zeichen nicht der Bindestrich der Tastatur sondern ein gleich aussehendes.

          Der – sieht hier im Forum nur gleich lang aus wie -
          oder mal untereinander:

          Das liegt an der diktengleichen Schrift, die hier als Defaultwert vorgegeben ist. Kopier doch mal beide –- und füge sie in die Adresszeile des Browsers ein. Wahrscheinlich siehst du dann den Unterschied.

          Und das nennt sich dann wohl Gedankenstrich. Aber gibt es dafür auch eine Taste auf dem Keyboard?

          Gegenfrage: Für welches System und welche Tastaturbelegung? Mit dem Compose-System unter Linux beispielsweise kann man allerhand solcher Zeichen erzeugen.
          Compose + 3× - = —
          Compose + 2× - + . = –
          Für den Kopieren-und-in-Adresszeile-einfügen-Trick beide zusammen mit dem "einfachen" - nebeneinander: — – -

          Für Windows kannst du dir die Tastatur auch belegen, wie du es brauchst, wenn du nicht mit die Codes direkt eingeben willst: Windows-Tastaturlayout anpassen. Für den Mac gibt's Ukelele.

          Noch eine Frage, aus der Info deiner Links heraus, scheint der Bindestrich, also der rechts neben dem Punkt auch nicht das Gleiche zu sein wie das Minuszeichen, richtig?

          Richtig.

          echo "$verabschiedung $name";

          1. Hallo,

            Für den Mac gibt's Ukelele.

            Die deutsche Tastaturlayout von Mac OS X ist da schon gut vorbelegt:

            -  =  "-", U+002D HYPHEN-MINUS
              ⌥-  =  "—", U+2013 EN DASH
            ⇧⌥-  =  "—", U+2014 EM DASH

            Tim

            1. Hallo.

              ⇧⌥-  =  "—", U+2014 EM DASH

              Das ist doch das Ding, mit dem man Elefanten hinterrücks erschlagen kann, oder?
              MfG, at

  2. @@Pete:

    Nun nehm ich an das liegt an UTF-8

    Äh nein, die Zeichencodierung hat damit nichts zu tun. Der Gedankenstrich '–' U+2013 lässt sich auch in Windows-1252 codieren; dort hat er den Bytewert x96 (dezimal 150, deshalb auch [Alt] + [0][1][5][0]).

    Nicht Zeichen*codierung* (UTF-8 wäre eine solche) mit Zeichen*satz* (Unicode wäre ein solcher) verwechseln!

    http://www.w3.org/International/questions/qa-what-is-encoding
    http://jendryschik.de/wsdev/einfuehrung/grundlagen/zeichenkodierung

    Live long and prosper,
    Gunnar

    --
    Erwebsregel 208: Manchmal ist das einzige, was gefährlicher als eine Frage ist, eine Antwort.