Web-Design "HTML Sonderzeichen(Entities)"


Web-Design "HTML Sonderzeichen(Entities)"

Je nach Land in dem ein Browser verwendet wird sind möglicherweise Sprachunterstützungen für andere Länder nicht installiert.
Damit Sonderzeichen von möglichst vielen Browsern korrekt dargestellt werden können gibt es mehrere Möglichkeiten:

HTML-Entity codierte Zeichen sind eine Sequenz die mit & beginnt, den Codenamen(Entity) enthält und mit ; beendet wird.
 Beispiel Copyrightzeichen: Sequenz © sollte ein (c) ergeben: ©

Unicode codierte Zeichen sind eine Sequenz die mit &# beginnt, den dezimalen Code eines Zeichens enthält und mit ; beendet wird.
 Beispiel Copyrightzeichen: Sequenz © sollte ein (c) ergeben: ©

Weiterführende Links:
HTML ASCII Liste (Device Control Characters) und mehr @w3schools.com
Entities (dezimal/hexadezimal) und Details zu Unicode umfassend erklärt @eworkers.de
Allgemeines zum Thema Entities @wikipedia.org

Häufig benötigte Entities

Wird im Quelltext die Zeichenfolge &#(ohne Zahl;) verwendet meldet ein Validator das Fehlen der Codezahl.
Um dies zu vermeiden müsste man das & als Unicodezeichen beschreiben und das # daran anfügen (&#)
& & (ampersand) "kaufmännisches" und Zeichen

Text in spitzen Klammern <Hallo> wird nicht angezeigt, da ein Browser das als einen unbekannten Befehl interpretiert und unterdrückt.
Als Ersatz für die getippten < und > Zeichen nutzt man die folgenden HTML-Entities:
< &lt; (lesser than)
> &gt; (greater than)
Um den Browser <Hallo> anzeigen zu lassen muss also &lt;Hallo&gt; verwendet werden.

Um Texte in der nächsten Zeile fortzusetzen wird <br> genutzt. Für einige Spezialfälle funktioniert dies leider nicht.
&#10; (line feed) Diese Codierung funktioniert z.B. in Hilfetexten (abbr title="")
&#13; (carriage return) funktioniert auch, aber Validatoren melden dies als Fehler!

Worte mit Leerzeichen am Stück und nicht umgebrochen darstellen:
&nobsp; (non breaking space) als Ersatz für getippte Leerzeichen

Worte mit anderen Trennzeichen am Stück darstellen:
&minus; (mathematisches Minus) als Ersatz für einen getipptes Bindestrich ist auffällig breit
&mdash; (m-dash; breit wie "m") als Ersatz für einen getipptes Bindestrich(Minuszeichen) wird umgebrochen!!
&ndash; (n-dash; breit wie "n") als Ersatz für einen getipptes Bindestrich(Minuszeichen) wird umgebrochen!!
Ein Ersatz für den Gedankenstrich (-) liefert nicht das erwünschte Ergebnis, da viel breiter(−).

Besser wäre in diesen Spezialfällen die Nutzung von CSS-Regeln:
white-space: nowrap; im entsprechenden Bereich einfügen.
Trotz Verwandschaft mit Leerzeichen(white-space) werden auch sonstige Texte nicht umgebrochen.
Gilt möglicherweise nur für Firefox..

Nutzt man Links zu Themen in irgendwelchen Foren, enthält dieser Link "ungültige" Zeichen.
Meist sind es die führenden &-zeichen, die leicht durch &amp; ersetzt werden können.

Carriage Return und Linefeed..

Verschiedene Betriebssystem nutzen unterschiedliche Codes als Zeilenende:
Linux/Unix: $0a LF(LineFeed)
MacIntosh(Apple?): $0d CR(Carriage Return)
Windows: $0d$0a CRLF(CR gefolgt von LF)

Nutzt man unter Linux(Unix) den midnightcommander und öffnet eine "Windows"-Datei sieht man am Zeilenende "^M".
Einerseits sieht das bescheuert aus, andererseits funktionieren dadurch viele Skripte bzw. Konfigurationsdateien nicht wie gewünscht..

Einfache Umwandlung z.B. mit Notepad++(windows):
  Bearbeiten-Format Zeilenende:
    -Konvertiere zu Windows(CR+LF)
    -Konvertiere zu Unix(LF)
    -Konvertiere zu Mac(CR)

Einfache Umwandlung z.B. mit dos2unix(linux-Konsole):
# apt-get install dos2unix (falls das Paket noch nicht installiert war)
# dos2unix test.txt (wandelt test.txt) von Windows nach Unix(Zeilenende=$0a)
# unix2dos test.txt (wandelt test.txt) von Unix nach Windows(Zeilenende=$0d$0a)
Mit zusätzlichen Parametern kann man auch in/von anderen Formaten wandeln.

Umwandlung durch "Wegschneiden" mit sed(linux-Konsole):
$ sed 's/\r$//' winfile.txt > unixfile.txt nur vom Windows- zum Unix-Format möglich!