|
|||
Was ist der Unterschied zwischen iso-8859-1 und utf-8 ?
Guten Morgen!
bitte nicht schimpfen, ich weis dass es dazu bereits mehrere Threads gibt, habe einiges davon durchgesehen, konnte meine Frage damit aber nicht beantworten. Für was gibt man das an, irgendwas wegen den Umlauten oder? Welches der beiden sollte man verwenden oder wonach richtet sich das? Habe auch bemrkt dass sich dass auf jedem Server anders verhält? Gebe ich iso-8859-1 ein, ist alles ok. Verwende ich utf-8, werden plötzlich alle Umlaute durch ein ? dargestellt. Auf nem anderen Webspace ist es jedoch dann wieder genau umgekhrt, versteh ich irgenwie nicht. Vielelicht könnte mir das bitte mal jemand mit einfachen, normalen Wörtern für normalsterbliche erklären? Danke!
__________________
Liebe Grüße wünscht Susanne! |
Sponsored Links |
|
||||
Der Computer ist dumm: Er kennt nur Nullen und Einsen. Software, Texteingaben oder Webseiten – alles besteht aus solchen Nullen und Einsen, in langen Strömen. Nun braucht der Computer aber eine Möglichkeit, aus diesen zwei Zahlen jede Menge unterschiedlicher Zeichen zu machen, weil Menschen nicht besonders gut mit langen Strömen aus Nullen und Einsen (auch »Binärcode« genannt) umgehen können.
Es gibt also irgendein Muster in diesen Zahlenreihen, das dem Computer verrät, welche Abschnitte beispielsweise für ein A stehen, welche für ein B und so weiter. Dieses Verstecken »komplexer« Zeichen in Nullen und Einsen nennt man »Zeichenkodierung«. ISO-8859-1 ist so eine Zeichenkodierung, ebenso UTF-8 oder US-ASCII. Jede Null und jede Eins nennt man ein »Bit«. Acht davon hintereinander nennt man ein »Byte«. In US-ASCII und ISO-8859-1 ist jedem Byte genau ein Zeichen zugeordnet, 00101001 steht da beispielsweise für ein A. In US-ASCII bleibt das erste Bit immer eine Null. Das ist sehr praktisch: Wenn mal ein Fehler in der Übertragung auftritt, weiß der Computer genau, wo es weitergeht, denn ein Byte beginnt immer mit einer Null. Leider kann man aber mit den übrigen 7 Stellen (2 hoch 7 oder 2 × 2 × 2 × 2 × 2 × 2 × 2) nur 128 unterschiedliche Zeichen kodieren, was ja bedrückend wenig ist. In ISO-8859-1 oder ISO-8859-15 hat man einfach gesagt: Pfeif auf Unterbrechungen im Transfer; wir benutzen einfach die erste Stelle auch noch. Jetzt hat man also 2 hoch 8 oder 256 unterschiedliche Zeichen. Wow! Leider sind 256 Zeichen immer noch viel zuwenig, weil viele dieser Zeichen traditionell (sprich: aus dummer Bequemlichkeit) frei bleiben müssen und einige »nur« unsichtbare Steuerzeichen sind (Zeilenumbruch zum Beispiel). Man hat versucht, das zu lösen, indem man eben ganz viele unterschiedliche Kodierungen erfunden hat, die je eine Menge unterschiedlicher Zeichen kodieren. So kann sich jeder die 256 Zeichen nehmen, die er gerade braucht. Reichte aber trotzdem nicht. Es gibt ja Leute, die chinesischen, arabischen und deutschen Text in ein und demselben Dokument haben wollen. War ja klar. Also hat man UTF-8 erfunden. UTF-8 ist cool: Wenn ein Byte nicht mehr ausreicht, nimmt man einfach zwei. Und wenn zwei nicht ausreichen, nimmt man drei. Und wenn drei nicht ausreichen… Außerdem hat man ein Schema eingebaut, mit dem man UTF-8 validieren kann. Wenn eine Reihe von Bits nicht zu UTF-8 gehören können, kann man das ganz einfach automatisch feststellen. Wenn du jetzt ein Dokument in UTF-8 kodieren willst, dann mußt du also erstens das Dokument auch tatsächlich in UTF-8 kodieren. Klingt blödsinnig, wird aber oft falsch gemacht. Du mußt deinem Editor nämlich sagen: Bitte speichere das jetzt als UTF-8 ab! Sonst nimmt der irgendwas anderes, meistens WINDOWS-1252, eine Obermenge von ISO-8859-1, nur ohne die dämlichen Leerstellen. Such dir also einen Editor, der UTF-8 kann. TextPad oder PSPad beispielsweise. Zweitens mußt du dem empfangenden Browser sagen, daß du UTF-8 verwendest (auch wenn du eine andere Kodierung verwendest, mußt du die mitteilen). Das geht im Webserver Apache mittels .htaccess. In diesem Server ist oft ISO-8859-1 voreingestellt. Dämlich, ist aber eben so. Also überschreib das. Das ist gewissermaßen die Kurzfassung. Mehr Informationen findest du in dem wunderbaren Tutorial Unicode- und Multi-Language-HOWTO und in meinen Lesezeichen unter Encoding. Gruß Thomas Nachtrag: Eine aktualisierte Langfassung dieses Artikels und weiteres Material habe ich hier veröffentlicht: Grundlagen der Zeichenkodierung.
__________________
toscho.de Geändert von toscho (02.02.2009 um 01:34 Uhr) Grund: Verweis auf frischen Artikel nachgetragen. |
Sponsored Links |
|
|||
Hallo Thomas!
Ich danke dir für die Ausführliche Erklärung. Habe mich die letzten Tage näher damit befasst - Nun versteh ich das auch endlich.
__________________
Liebe Grüße wünscht Susanne! |
|
|||
Ich möchte mich auch für die ausführliche Erklärung bedanken, ich hab mir bisher keinen Kopf gemacht wegen dem Zeichensatz,das wird sich ab sofort ändern
|
|
|||
Hallo, ich würde gerne wissen, wie wichtig es aktuell ist, utf-8 zu verwenden?
Der gute Dreamweaver wandelt nämlich dann die Sonderzeichen nicht um. Da fände ich es praktischer, wenn ich iso-8859-1 verwenden könnte. Natürlich kann ich das dann nach der Bearbeitung der Texte wieder ändern, aber das ist schon etwas unpraktisch. Oder gibt es noch eine andere Möglichkeit, dreamweaver dazu zu bringen, die Sonderzeichen freiwillig umzuwandeln? Denn, manche Browser stellen die dann falsch dar!! wie ist das mit der htaccess gemeint? Das hab ich noch nie gehört, dass man das extra noch wo reinschreiben muss. Ist das Stand der Technik? vielen dank für Infos Irmen |
Sponsored Links |
|
||||
hm, hättest du mal ein neues Thema aufgemacht und auf dieses hier verlinkt ...
Egal, so habe ich mir den wirklich schönen Text von toscho nochmal reingezogen. Ich würde dazu raten UTF-8 zu verwenden, es macht vieles einfacher, weil man eben einfach alles so hinschreiben kann. Afaik ist das noch der aktuelle Stand der Technik, zumindest mache ich es noch so. Sämtliche Dokumente in UTF-8 verfassen, in der .htaccess ein "AddDefaultCharset UTF-8", damit der Apache dem Browser mitteilt, dass UTF-8 Dokumente kommen. Evtl. hat dein Hoster UTF-8 auch in der Server-Config als default eingetragen, dann brauchst du das nicht in die .htaccess aufnehmen. Ich mache das aber trotzdem immer, damit das notfalls auch noch läuft, wenn mal der Hoster gewechselt wird und dies dort (noch) nicht per default konfiguriert ist. Außerdem noch ein Code:
<meta http-equiv="content-type" content="text/html; charset=utf-8" /> Was für Sonderzeichen "wandelst" du denn immer um? Welche Browser (und Versionen) machen denn Probleme? |
Sponsored Links |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Unterschied zwischen \n und \r | Schneemann | Serveradministration und serverseitige Scripte | 17 | 11.05.2009 14:01 |
Unterschied zwischen b und strong | schman | (X)HTML | 4 | 13.03.2008 17:24 |
Unterschied zwischen ... | dan_23 | CSS | 3 | 22.02.2008 19:10 |
Der unterschied zwischen ... | Vybsi | Offtopic | 2 | 23.12.2007 15:37 |
Unterschied zwischen .klasse und #klasse | manichan | CSS | 4 | 09.06.2007 19:44 |