Sprache : UTF-8 anstatt ISO-8859-1 ? Was tun
Mont_St_Michel
- html
Hallo leute,
kann mir jemand kurz und bündig den Unterschied
zwischen System nicht gleich UTF-8 anstatt ISO-8859-1. erklaeren:
-in einer Sprachübersetzung für eine Software hab´ ich ältere Übersetzungen gesehen, wo mit äöü-Zeichen nach der alten Schreibweise mit auml;öü eingefügt....sind.
Daneben gibt es nun neuere Version des Language-Files (für dieselbe Software) mit äöü-s drin.
Meine FRAGEN; Sind dies denn Zeichen fuer systematische Änderungen ----:
Was ist der grundsätzliche Vorteil von UTF-8 gegenüber ISO 8859-1?
Kann ich vielleicht bei UTF-8 irgendwie sorgloser dann übersetzen weil die decodierung (in php) schon alles wieder richtig macht?
vielen Dank für eure tipps-.... wenn ichnoch mehr
erklären soll dann lasst es mich wissen. DANN tipp ich noch mehr hier zur Erklärung.-.
euer mt. st. michel
Moin,
kann mir jemand kurz und bündig den Unterschied
zwischen System nicht gleich UTF-8 anstatt ISO-8859-1. erklaeren:
Der Satz ergibt keinen Sinn. Sei's drum:
UTF-8 (Unicode Transport Format, wenn ich mich recht erinnere) ist lediglich eine Möglichkeit Unicode zu kodieren. Normalerweise braucht man 16 Bit um Unicode zu transportieren, bei UTF-8 werden dann aber Folgen von 8Bit-Zeichen verwendet. Die Zeichen 0-127 sind ganz normal ASCII, aber alles was der höchstwertige Bit gesetzt hat, gehört dann zur Codierung. Damit das ganze richtig Spassig wird, sind Unicode-Zeichen in UTF-8 repräsentiert auch noch unterschiedlich lang (-> http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8).
ISO-8859-1 ist ein Zeichensatz, der für 8Bit-Zeichen (also 0-255) festlegt, welche Zeichen auf welchen Positionen liegen - die Zeichen 0-127 entsprechen übrigens auch ASCII - und wird für Westeuropa und Amerika verwendet (-> http://selfhtml.teamone.de/inter/zeichensaetze.htm).
Der Unterschied kurz und bündig: UTF-8 legt eine eineindeutige Abbildung von einem Strom von 8bit-Zeichen auf einen Strom von 16bit-Zeichen fest. ISO-8859-1 ist ein Zeichensatz.
-in einer Sprachübersetzung für eine Software hab´ ich ältere Übersetzungen gesehen, wo mit äöü-Zeichen nach der alten Schreibweise mit auml;öü eingefügt....sind.
Das sind HTML-Entities und haben weder mit UTF-8 noch mit ISO-8859-1 was zu tun.
Meine FRAGEN; Sind dies denn Zeichen fuer systematische Änderungen ----:
?
Was ist der grundsätzliche Vorteil von UTF-8 gegenüber ISO 8859-1?
Äpfel. Birnen.
Kann ich vielleicht bei UTF-8 irgendwie sorgloser dann übersetzen weil die decodierung (in php) schon alles wieder richtig macht?
?
--
Henryk Plötz
Grüße aus Berlin
thx fuer die ANTWORT,
Der Unterschied kurz und bündig: UTF-8 legt eine eineindeutige Abbildung von einem Strom von 8bit-Zeichen auf einen Strom von 16bit-Zeichen fest. ISO-8859-1 ist ein Zeichensatz.
vielen DANK
-in einer Sprachübersetzung für eine Software hab´ ich ältere Übersetzungen gesehen, wo mit äöü-Zeichen nach der alten Schreibweise mit auml;öü eingefügt....sind.
Das sind HTML-Entities und haben weder mit UTF-8 noch mit ISO-8859-1 was zu tun.
aber macht das den nicht bei der RE-Codierung was aus!?!
ich meine - ziehen denn diese HTML-Entities nicht irgendwelche Folgen nach sich!? M a. W. brauch ich die immer!?!? oder brauch ich die nur in einer der beiden o.g. Varianten von ZEICHEN-Codierungen-!?!
gruss
mt.-st. michel
UTF-8 (Unicode Transport Format, wenn ich mich recht erinnere) ist lediglich eine Möglichkeit Unicode zu kodieren. Normalerweise braucht man 16 Bit um Unicode zu transportieren, bei UTF-8 werden dann aber Folgen von 8Bit-Zeichen verwendet. Die Zeichen 0-127 sind ganz normal ASCII, aber alles was der höchstwertige Bit gesetzt hat, gehört dann zur Codierung. Damit das ganze richtig Spassig wird, sind Unicode-Zeichen in UTF-8 repräsentiert auch noch unterschiedlich lang (-> http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8).
UTF steht für "Unicode Transformation Format". Unicode benutzt Code-Positionen von U+0000 bis U+10FFFF, das sind 21 Bit, nicht 16. Die Code-Positionen 0-127 gehören ebenso zur "Codierung", wie alle anderen Positionen auch.
ISO-8859-1 ist ein Zeichensatz, der für 8Bit-Zeichen (also 0-255) festlegt, welche Zeichen auf welchen Positionen liegen - die Zeichen 0-127 entsprechen übrigens auch ASCII - und wird für Westeuropa und Amerika verwendet (-> http://selfhtml.teamone.de/inter/zeichensaetze.htm).
ISO/IEC 8859-1:1998 ist ein Internationaler Standard. In dem werden zwei Dinge festgelegt, ein Zeichenrepertoire und eine Kodierung für diese Zeichen. ISO-8859-1 ist der Name dieser Kodierung.
Der Unterschied kurz und bündig: UTF-8 legt eine eineindeutige Abbildung von einem Strom von 8bit-Zeichen auf einen Strom von 16bit-Zeichen fest. ISO-8859-1 ist ein Zeichensatz.
Das ist nun aber völlig falsch, sowohl ISO-8859-1 und UTF-8 sind Zeichenkodierungen. Eine Zeichenkodierung ermöglicht die Abbildung von Code-Positionen auf eine Byte-Sequenz. So etwas wie "8/16-Bit-Zeichen" gibt es nicht.
Moin,
Unicode benutzt Code-Positionen von U+0000 bis U+10FFFF, das sind 21 Bit, nicht 16.
Das hatte ich bei mir dunkel anders in Erinnerung, also danke für die Berichtigung.
--
Henryk Plötz
Grüße aus Berlin
Hi Björn, hi Henryk!
Ihr scheint euch da ja auszukennen, deshalb auch eine Nachfrage von mir: Ist es richtig, dass Win9x zu Zeichencodierung auf die ISO-Sätze zurückgreift und WinXP Unicode einsetzt? Ein Bekannter hat nämlich das Problem, dass Dokumente mit einer unter Win9x selbst erstellen (orientalischen) Spezialschrift jetzt nach einem Upgrade auf WinXP nicht mehr lesbar sind. Er hat sich schon ein ganzes Wochenende damit um die Ohren gehaut, aber nichts dazu gefunden (zumindest keine Lösung, sondern nur in etwa die Aussage von mir oben). Gibt es eine Möglichkeit Win9x-Zeichensätze unter WinXP zu verwenden, wenn ja wie macht man das?
Clemens
Hi Björn, hi Henryk!
Ihr scheint euch da ja auszukennen, deshalb auch eine Nachfrage von mir: Ist es richtig, dass Win9x zu Zeichencodierung auf die ISO-Sätze zurückgreift und WinXP Unicode einsetzt?
Jein. Es ist richtig, dass nur Windows NT / 2000 / XP volle Unicode-Unterstützung bieten. Unter den anderen Versionen werden die Windows API Funktionen nicht in ihrer Unicode-Variante implementiert. Das hat allerdings nichts mit den im Internet Explorer implementierten Zeichenkodierungsalgorithmen zu tun.
Ein Bekannter hat nämlich das Problem, dass Dokumente mit einer unter Win9x selbst erstellen (orientalischen) Spezialschrift jetzt nach einem Upgrade auf WinXP nicht mehr lesbar sind. Er hat sich schon ein ganzes Wochenende damit um die Ohren gehaut, aber nichts dazu gefunden (zumindest keine Lösung, sondern nur in etwa die Aussage von mir oben). Gibt es eine Möglichkeit Win9x-Zeichensätze unter WinXP zu verwenden, wenn ja wie macht man das?
Du/Ihr vermischt hier viele unterschiedliche Themen miteinander. Man müsste schon die Dokumente und die Schriftart kennen, um genaueres darüber sagen zu können. Die Zeichenkodierung halte ich hier für kein Thema, in jedem Fall braucht man mehr Informationen.
Hi!
Das hat allerdings nichts mit den im Internet Explorer implementierten Zeichenkodierungsalgorithmen zu tun.
Das ist klar, ist auch nur eine "Nebenfrage" weil sie mir bei diesem Thema wieder in den Sinn gekommen ist.
Man müsste schon die Dokumente und die Schriftart kennen, um genaueres darüber sagen zu können. Die Zeichenkodierung halte ich hier für kein Thema, in jedem Fall braucht man mehr Informationen.
Es handelt sich dabei um MS WinWord-Dokumente. Unter Win9x wurde dafür mit einem Schrifteditor eine Schriftart erstellt, die auf diesem System funktionierte - sowohl bei der Anzeige als auch beim Druck. Nach dem Update auf XP zeigten die Dokument nur noch Kästchen an. Afaik - oder wie mir der Bekannte gesagt hat - ist eben auch der Import einer Win9x-Schrift in XP nicht möglich. Wobei ich mir das fast nicht vorstellen kann, wäre ja schon eine große Einschränkung der Abwärtskompatibilität, und die Leute, die sich teure Fonts gekauft haben wären sicher davon auch nicht begeistert, weiß nicht, ob sich MS so was leisten könnte.
Clemens
kann mir jemand kurz und bündig den Unterschied
zwischen System nicht gleich UTF-8 anstatt ISO-8859-1. erklaeren:
Könntest du dir bitte 5 Minuten mehr Zeit nehmen, deine Frage aufzuschreiben? So kann das niemand verstehen. Ich beantworte mal alles, was ich verstehen konnte:
Was ist der grundsätzliche Vorteil von UTF-8 gegenüber ISO 8859-1?
UTF-8 ermöglicht es, sämtliche Unicode-Zeichen zu kodieren, ISO-8859-1 ermöglicht das nur für eine sehr kleine Untermenge davon.