Zeichenkodierung: Unterschied zwischen den Versionen

Aus Seobility Wiki
Wechseln zu: Navigation, Suche
(Ähnliche Artikel)
 
(4 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 1: Zeile 1:
<seo title="Zeichenkodierung" metadescription="Was bedeutet der Begriff Zeichen(satz)kodierung, welche Kodierung sollte gewählt werden und wie wird diese auf einer Website implementiert?" />
+
<seo title="Zeichenkodierung - Definition + Erklärung" metadescription="Um Buchstaben, Ziffern und Symbole darzustellen, benötigt ein Computer eine Zeichenmenge, die Zeichenvorrat genannt wird. Jetzt weiterlesen ..." />
  
 
== Definition ==
 
== Definition ==
Zeile 17: Zeile 17:
 
</html>
 
</html>
  
Die Zeichensatzkodierung kommt beispielsweise bei HTML-Dokumenten zum Einsatz, da diese mit einer bestimmten Zeichensatzkodierung gespeichert werden. Dadurch ist eine eindeutige Zuordnung von Buchstaben, Ziffern und Symbolen eines Zeichensatzes möglich. Die Information über die Form der Kodierung, die für diese Datei verwendet wurde, wird beim Öffnen an den Browser oder einen anderen Benutzeragenten gesendet, damit die Bytes richtig interpretiert werden können. Wenn die deklarierte Zeichenkodierung nicht mit der tatsächlich verwendeten übereinstimmt, kann der Browser den Inhalt der Webseite nicht richtig darstellen und auch Suchmaschinen können mit diesen Seiten wenig anfangen.
+
Die Zeichensatzkodierung kommt beispielsweise bei HTML-Dokumenten zum Einsatz, da diese mit einer bestimmten Zeichensatzkodierung gespeichert werden. Dadurch ist eine eindeutige Zuordnung von Buchstaben, Ziffern und Symbolen eines Zeichensatzes möglich. Die Information über die Form der Kodierung, die für diese Datei verwendet wurde, wird beim Öffnen an den Browser oder einen anderen Benutzeragenten gesendet, damit die Bytes richtig interpretiert werden können. Wenn die deklarierte Zeichenkodierung nicht mit der tatsächlich verwendeten übereinstimmt, kann der Browser den Inhalt der Webseite nicht richtig darstellen und auch [[Suchmaschine]]n können mit diesen Seiten wenig anfangen.
  
 
== Warum unterschiedliche Zeichensätze notwendig sind ==
 
== Warum unterschiedliche Zeichensätze notwendig sind ==
Zeile 38: Zeile 38:
 
=== Angabe im HTTP-Header ===
 
=== Angabe im HTTP-Header ===
  
Webseiten werden über das [[Hypertext|HyperText]] Transfer Protocol (HTTP) zur Anzeige bereitgestellt. Ein Browser sendet über HTTP eine Anfrage und der Server sendet die Antwort über HTTP zurück. Die Antwort besteht aus zwei Teilen: Dem HTTP-Header und dem Body (also dem Inhalt), die durch eine Leerzeile getrennt sind. Die Kopfzeichen enthalten die Informationen über den Body. Der Body besteht dann aus der angeforderten Ressource, in der Regel ein HTML-Dokument. Die Kodierungsinformationen für das Dokument werden vom Webserver im Content-Type Header gesendet:
+
Webseiten werden über das [[Hypertext|HyperText]] Transfer Protocol (HTTP) zur Anzeige bereitgestellt. Ein Browser sendet über HTTP eine Anfrage und der Server sendet die Antwort über HTTP zurück. Die Antwort besteht aus zwei Teilen: Dem HTTP-Header und dem Body (also dem Inhalt), die durch eine Leerzeile getrennt sind. Die Kopfzeichen enthalten die Informationen über den Body. Der Body besteht dann aus der angeforderten Ressource, in der Regel ein HTML-Dokument. Die Kodierungsinformationen für das Dokument werden vom Webserver im [[Content-Type]] Header gesendet:
  
 
<pre>Content-Type: text/html; charset=utf-8</pre>
 
<pre>Content-Type: text/html; charset=utf-8</pre>
Zeile 54: Zeile 54:
 
Beispiel für die Angabe der Zeichensatzkodierung im HTML-Markup:
 
Beispiel für die Angabe der Zeichensatzkodierung im HTML-Markup:
  
[[Datei:Zeichensatzkodierung im HTML Code.PNG|link=|alt=Zeichenkodierung]]
+
[[Datei:Zeichensatzkodierung im HTML Code.PNG|link=|border|alt=Zeichenkodierung|Beispiel für Zeichenkodierung im HTML Code]]
  
 
Screenshot mit Zeichensatzkodierung im HTML Code von [https://www.seobility.net/de/ seobility.net]
 
Screenshot mit Zeichensatzkodierung im HTML Code von [https://www.seobility.net/de/ seobility.net]
Zeile 96: Zeile 96:
 
     }
 
     }
 
     </script></html>
 
     </script></html>
 +
 +
{| class="wikitable" style="text-align:left"
 +
|-
 +
|'''Über den Autor'''
 +
|-
 +
| [[File:Seobility S.jpg|link=|100px|left|alt=Seobility S]] Das Seobility Wiki Team besteht aus SEO-, Online-Marketing- und Web-Experten mit praktischer Erfahrung in den Bereichen Suchmaschinenoptimierung, Online-Marketing und Webentwicklung. Alle unsere Artikel durchlaufen einen mehrstufigen Redaktionsprozess, um Dir die bestmögliche Qualität und wirklich hilfreiche Informationen bieten zu können. <html><a href="https://www.seobility.net/de/wiki/Seobility_Wiki_Team" target="_blank">Mehr Informationen über das Seobility Wiki Team</a></html>.
 +
|}
 +
 +
<html><script type="application/ld+json">
 +
{
 +
  "@context": "https://schema.org",
 +
  "@type": "Article",
 +
  "author": {
 +
    "@type": "Organization",
 +
    "name": "Seobility",
 +
    "url": "https://www.seobility.net/"
 +
  }
 +
}
 +
</script></html>

Aktuelle Version vom 23. Januar 2024, 17:32 Uhr

Definition

Um Buchstaben, Ziffern und Symbole darzustellen, benötigt ein Computer eine Zeichenmenge, die Zeichenvorrat (engl. character repertoire) genannt wird. Für den Gebrauch in der Praxis ist diese Zeichenmenge in einer bestimmten Reihenfolge geordnet und nummeriert. Diese geordnete Zeichenmenge wird als Zeichensatz (engl. character set) bezeichnet. Damit der Computer die Zeichen richtig erkennt, werden diese außerdem durch ein Muster aus Bits beschrieben, welches die Zeichenkodierung bzw. Zeichensatzkodierung (engl. character encoding) darstellt. Da der Zeichensatz bereits eine bestimmte Reihenfolge und Nummerierung vorgibt, müssen die Bitmuster hierfür nur noch den Zeichen zugeordnet werden.

Zeichenkodierung prüfen

Prüfe die Angaben zur Zeichenkodierung auf Deiner Seite

Die Zeichensatzkodierung kommt beispielsweise bei HTML-Dokumenten zum Einsatz, da diese mit einer bestimmten Zeichensatzkodierung gespeichert werden. Dadurch ist eine eindeutige Zuordnung von Buchstaben, Ziffern und Symbolen eines Zeichensatzes möglich. Die Information über die Form der Kodierung, die für diese Datei verwendet wurde, wird beim Öffnen an den Browser oder einen anderen Benutzeragenten gesendet, damit die Bytes richtig interpretiert werden können. Wenn die deklarierte Zeichenkodierung nicht mit der tatsächlich verwendeten übereinstimmt, kann der Browser den Inhalt der Webseite nicht richtig darstellen und auch Suchmaschinen können mit diesen Seiten wenig anfangen.

Warum unterschiedliche Zeichensätze notwendig sind

Die Auswahl einer Kodierung bestimmt den Bereich von Zeichen, die auf einer Webseite verwendet werden können. Normale lateinische Buchstaben stellen dabei selten ein Problem dar, aber einige Sprachen benötigen mehr Buchstaben als andere oder verwenden Characters wie Punkte, Häkchen, Striche, Kreise oder Bögen oberhalb oder unterhalb der Buchstaben.

Dies kann schnell zu Problemen führen, wenn ein Schriftzeichen benötigt wird, das von der gewählten Kodierung nicht dargestellt werden kann. In diesem Fall muss auf eine symbolische Umschreibung (Entitätsreferenz) zurückgegriffen werden. So stellt zum Beispiel die Entitätsreferenz &copy; das Symbol © dar. Entitätsreferenzen beginnen mit einem "&" und enden mit einem Semikolon ";". Die Verwendung von Referenzen funktioniert zwar meistens relativ gut, das Verfahren benötigt jedoch mehr Bytes und erschwert das Markup.

Welche Kodierung sollte gewählt werden?

Für eine englischsprachige Webseite genügt theoretisch der Zeichensatz US-ASCII, wenn auf eine typografisch korrekte Zeichensetzung, wie zum Beispiel geschweifte Anführungszeichen, verzichtet werden kann. Bei anderen europäischen Sprachen wie Deutsch, Französisch oder Spanisch, funktioniert der Zeichensatz ISO 8859-1 sehr gut, weshalb er lange Zeit als De-facto Standard für Westeuropa galt. Zeichensätze mit polnischen, tschechischen, kyrillischen oder griechischen Characters können eine andere Version aus ISO-8859 wählen. Selbst die Kodierung hebräischer, arabischer und orientalischer Zeichen auf einer Webseite stellt kein Problem dar, wenn die Zeichensatzkodierung UTF-8 ausgewählt wurde. Die Abkürzung steht für UCS Transformation Format - 8 Bit, wobei UCS wiederum die Abkürzung für Universal Character Set ist.

UTF-8 ist mittlerweile die am häufigsten verwendete und auch dringend empfohlene Zeichenkodierung. Sie verwendet die Code-Tabelle des Unicode Systems, welches die Zeichen und Elemente aller bekannten Schriftkulturen enthält, die von Linguisten ermittelt wurden. Aus diesem Grund ist UTF-8 der im Internet am häufigsten verwendete Zeichensatz und sollte immer die erste Wahl sein.

Die Angabe der Zeichensatzkodierung im Dokument

Angabe der Zeichensatzkodierung
Abbildung: Zeichenkodierung - Autor: Seobility - Lizenz: CC BY-SA 4.0

Sobald man sich für eine Kodierung entschieden hat, muss sichergestellt werden, dass die richtigen Informationen an den Browser und an die Suchmaschine weitergegeben werden. In jedem HTML-Dokument ist die Angabe der verwendeten Zeichenkodierung Pflicht. Hierfür kann entweder der HTTP-Header oder das HTML-Markup genutzt werden.

Angabe im HTTP-Header

Webseiten werden über das HyperText Transfer Protocol (HTTP) zur Anzeige bereitgestellt. Ein Browser sendet über HTTP eine Anfrage und der Server sendet die Antwort über HTTP zurück. Die Antwort besteht aus zwei Teilen: Dem HTTP-Header und dem Body (also dem Inhalt), die durch eine Leerzeile getrennt sind. Die Kopfzeichen enthalten die Informationen über den Body. Der Body besteht dann aus der angeforderten Ressource, in der Regel ein HTML-Dokument. Die Kodierungsinformationen für das Dokument werden vom Webserver im Content-Type Header gesendet:

Content-Type: text/html; charset=utf-8

Angabe im HTML-Markup

Wenn das HTTP-Äquivalent in HTML bereitgestellt werden soll, kann dazu ein Meta-Element im HEAD-Abschnitt des Dokuments verwendet werden:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

Alternativ kann auch folgendes Meta-Element angegeben werden:

<meta charset="utf-8">

Beispiel für die Angabe der Zeichensatzkodierung im HTML-Markup:

Zeichenkodierung

Screenshot mit Zeichensatzkodierung im HTML Code von seobility.net


Es sollte jedoch beachtet werden, dass jeder echte HTTP-Header ein Meta-Element überschreibt, weshalb der Webserver unbedingt korrekt eingerichtet werden muss. Bei einem Apache-Server wird hierfür folgender Code in die Konfigurationsdatei geschrieben:

AddDefaultCharset UTF-8

Für XML sollte die Kodierung im Kopf der Datei angegeben werden. XML unterstützt nur UTF-8 und UTF-16, was die Auswahl stark vereinfacht:

<?xml version="1.0" encoding="utf-8"?>

Zusammenfassung

Für die richtige Darstellung eines HTML-Dokuments ist die Wahl der richtigen Zeichenkodierung unerlässlich. Wird ein Zeichensatz gewählt, der für eine Website ungeeignet ist, wie zum Beispiel ISO 8859-1 für eine chinesische Website, müssen viele Entitäten verwendet werden, was die Dateigröße unnötig vergrößert.

Im Idealfall sollte für jede Art von Website UTF-8 verwendet werden. UTF-8 und die ISO-8859er Serie werden von allen modernen Browsern unterstützt. Die meisten Browser unterstützen auch einige andere Kodierungen, aber wenn eine exotische Kodierung gewählt wird, läuft man Gefahr, dass einige Besucher, darunter auch Suchmaschinen, den Inhalt nicht lesen können.

Außerdem gilt zu beachten, dass jedes HTML-Dokument eine Auszeichnung beinhalten sollte, in welcher der verwendete Zeichensatz angegeben wird.

Weiterführende Links

Ähnliche Artikel

Über den Autor
Seobility S
Das Seobility Wiki Team besteht aus SEO-, Online-Marketing- und Web-Experten mit praktischer Erfahrung in den Bereichen Suchmaschinenoptimierung, Online-Marketing und Webentwicklung. Alle unsere Artikel durchlaufen einen mehrstufigen Redaktionsprozess, um Dir die bestmögliche Qualität und wirklich hilfreiche Informationen bieten zu können. Mehr Informationen über das Seobility Wiki Team.

Überprüfen Sie Ihre Webseite mit
dem SEO Check!