Unklarheiten im Quelltext
Matze
- zu diesem forum
0 Sven Rautenberg0 Matze
0 Tja0 Cyx230 Christian Seiler0 Cyx23
0 Tom
Hallo liebe Forumbetreibende :)
ich habe mir gerade den Quelltext der Forumsseite angesehn und ich bin etwas verwirrt.
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
(...)
<meta name="description" content="Forum als Ergänzung zu der Dokumentation SELFHTML">
Wozu das ä bei der UTF-8-Kodierung?
Ein Stück weiter unten noch ein ü in "Stefan Münz".
Ist diese Schreibweise bei Mata-Tags Pflicht?
.active {
;
}
Tja, wozu das wohl gut sein mag?
Mich würden die beiden Punkte interessieren.
Hat jemand eine Erklärung für mich?
Danke und Grüße, Matze
Moin!
ich habe mir gerade den Quelltext der Forumsseite angesehn und ich bin etwas verwirrt.
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
(...)
<meta name="description" content="Forum als Ergänzung zu der Dokumentation SELFHTML">
>
> Wozu das ä bei der UTF-8-Kodierung?
Es ist nicht verboten. Und da die resultierende Seite aus diversen Quellen serverseitig zusammengesetzt wird, sind Entities die sicherste Methode, unabhängig von der Codierung das Zeichen anzugeben. Wobei eine numerische Zeichenreferenz ebensogut funktionieren würde, nur deutlich weniger selbsterklärend ist. :)
> Ist diese Schreibweise bei Mata-Tags Pflicht?
Nein.
> ~~~css
> .active {
> ;
>
> }
>
Tja, wozu das wohl gut sein mag?
Da würden benutzerdefinierte Formatierungen erscheinen, wenn sie denn definiert wären. Man kann natürlich noch eine IF-Klammerung um den Block setzen, die Templates sind aber schon jetzt komplex genug, IMHO.
- Sven Rautenberg
Hallo,
Es ist nicht verboten. Und da die resultierende Seite aus diversen Quellen serverseitig zusammengesetzt wird, sind Entities die sicherste Methode, unabhängig von der Codierung das Zeichen anzugeben. Wobei eine numerische Zeichenreferenz ebensogut funktionieren würde, nur deutlich weniger selbsterklärend ist. :)
guck an, und ich dachte die SELF-Seiten wären durchgängig in UTF-8.
Hatt es dann überhaupt noch einen Vorteil UTF-8 zu verwenden?
Oder doch beispielsweise gleich durchgängig iso-8859-1?
.active {
;}
> >
> > Tja, wozu das wohl gut sein mag?
>
> Da würden benutzerdefinierte Formatierungen erscheinen, wenn sie denn definiert wären. Man kann natürlich noch eine IF-Klammerung um den Block setzen, die Templates sind aber schon jetzt komplex genug, IMHO.
An sowas in der Richtung dachte ich auch.
Ich glaub dir aber, dass ihr genug andere/wichtigere Sachen zu tun habt :)
Danke und Grüße, Matze
Moin!
Es ist nicht verboten. Und da die resultierende Seite aus diversen Quellen serverseitig zusammengesetzt wird, sind Entities die sicherste Methode, unabhängig von der Codierung das Zeichen anzugeben. Wobei eine numerische Zeichenreferenz ebensogut funktionieren würde, nur deutlich weniger selbsterklärend ist. :)
guck an, und ich dachte die SELF-Seiten wären durchgängig in UTF-8.
Absolut nicht. Wir haben selbstverständlich Altlasten. Beispielsweise SELFHTML selbst - ist auch in Version 8.1.2 noch immer ISO-8859-1. Für den allermeisten Teil von SELFAKTUELL würde ich das ebenfalls behaupten.
UTF-8 ist im Forum und im Blog verwendet. Und wird für alle Neuentwicklungen eingesetzt.
Hatt es dann überhaupt noch einen Vorteil UTF-8 zu verwenden?
UTF-8 hat nur Vorteile.
Oder doch beispielsweise gleich durchgängig iso-8859-1?
Nein, das gibt vor allem bei Seiten mit Benutzereingabemöglichkeiten Probleme, weil die Browser den Benutzer nicht daran hindern, Zeichen einzugeben, die mit der Codierung gar nicht darstellbar sind. Sowas wäre aber notwendig, um zu verhindern, dass Zeichen an den Server gesendet werden, die dieser nicht zu verarbeiten beabsichtigt. Resultat: Es kommt Müll heraus, jeder Browser kocht sein eigenes Süppchen, was das behandeln uncodierbarer Zeichen angeht.
- Sven Rautenberg
Hi,
wie stelle ich denn am besten eine Seite auf UTF-8 um.
Gibt es ein Konvertierprogramm?
Wie muss ich dann Sonderzeichen eingeben?
ä,ö,ü .... wie bisher mit den auf der deutschen Tastatur vorhandenen Tasten?
Wie Zeichen, die nicht vorhanden sind, z.B. franz. Sonderzeichen?
Mit bestem Dank
Jörg
Moin!
wie stelle ich denn am besten eine Seite auf UTF-8 um.
Hängt davon ab, aus was sie derzeit besteht.
Gibt es ein Konvertierprogramm?
Wie muss ich dann Sonderzeichen eingeben?
ä,ö,ü .... wie bisher mit den auf der deutschen Tastatur vorhandenen Tasten?
Dein Editor muß UTF-8 unterstützen. Derzeit unterstützt er ja wohl auch schon ISO-8859-1. Am Tippen der Umlaute etc. ändert sich gar nichts. Auch in ISO-8859-1 müssen die nicht als Entity geschrieben werden.
Wie Zeichen, die nicht vorhanden sind, z.B. franz. Sonderzeichen?
In UTF-8 sind alle Zeichen vorhanden. Und franz. Sonderzeichen sind in ISO-8859-1 auch vorhanden.
Im Prinzip wäre ein simples Szenario: Seite im Editor laden, auf UTF-8 umschalten, Meta-Tag abändern, ggf. Server-Konfiguration abändern (für den HTTP-Header "Content-Type", da darf zukünftig nicht mehr ISO-8859-1 angegeben sein, UTF-8 wäre wünschenswert, ohne weitere Angabe gilt das Meta-Tag als Fallback), Seite speichern und neu hochladen.
Wobei es vom Editor abhängt, ob das "Umschalten" so simpel funktioniert. Ist der Editor etwas unfähiger, weil er die alten Umlaute durch das Umschalten nicht in UTF-8 konvertiert, sondern die Bytewerte unverändert läßt und als ungültige UTF-8-Zeichen anzeigt, hilft folgender Trick:
Seite laden, Quelltext komplett markieren, in die Zwischenablage kopieren oder ausschneiden, Codierung umschalten, Quelltext wieder einfügen. Da die Zwischenablage mit Unicode arbeitet, werden die wahren Umlaute dort hineinkopiert und auch wieder als wahrer Umlaut in den Editor eingefügt.
- Sven Rautenberg
Hallo,
Laut
<http://aktuell.de.selfhtml.org/artikel/javascript/utf8b64/utf8.htm&title=Abschließende Betrachtung zu UTF-8>
scheint es noch nicht sinnvoll, UTF-8 zu verwenden.
Hallo,
Laut
Abschließende Betrachtung zu UTF-8
scheint es noch nicht sinnvoll, UTF-8 zu verwenden.
Der Artikel ist über 6 Jahre alt. Mehr brauche ich dazu wohl nicht mehr zu sagen.
Viele Grüße,
Christian
Hi,
Der Artikel ist über 6 Jahre alt. Mehr brauche ich dazu wohl nicht mehr zu sagen.
Doch das solltest Du!
Nämlich: Nehmt alte Klamotten heraus oder kennzeichnet sie als nicht mehr gültig!
Was soll ein Nachschlagewerk, wenn es nicht aktuell ist.
So long!
Hallo
Der Artikel ist über 6 Jahre alt. Mehr brauche ich dazu wohl nicht mehr zu sagen.
Doch das solltest Du!
Nämlich: Nehmt alte Klamotten heraus oder kennzeichnet sie als nicht mehr gültig!
Was soll ein Nachschlagewerk, wenn es nicht aktuell ist.
Dass SELFHTML nicht tagesaktuell ist, ist bekannt und oft bejammert. Kaufst du dir jedes Jahr ein neues Lexikon oder einen neuen Duden (so richtig als Buch) oder muss das eine angeschaffte auch bei dir einige Jahre reichen?
Tschö, Auge
Hello,
Dass SELFHTML nicht tagesaktuell ist, ist bekannt und oft bejammert. Kaufst du dir jedes Jahr ein neues Lexikon oder einen neuen Duden (so richtig als Buch) oder muss das eine angeschaffte auch bei dir einige Jahre reichen?
Vielleicht sollte man den Seiten dann "zuletzt geändert" hinzufügen?
Das wäre doch vielleicht sogar automatisiert möglich.
Harzliche Grüße vom Berg und Frohe Weihnachtszeit
Tom
Hallo,
Wie Zeichen, die nicht vorhanden sind, z.B. franz. Sonderzeichen?
Einfach alles so, wie du es mit der Tastatur eingibst. Oder - bei Zeichen, die es nicht auf der Tastatur gibt - mit einer Zeichentabelle (Windows: Start -> (Alle) Programme -> Zubehör -> Systemprogramme).
Frohe Weihnachten!
Willi
Hello,
wie stelle ich denn am besten eine Seite auf UTF-8 um.
Gibt es ein Konvertierprogramm?
Wie muss ich dann Sonderzeichen eingeben?
ä,ö,ü .... wie bisher mit den auf der deutschen Tastatur vorhandenen Tasten?
Wie Zeichen, die nicht vorhanden sind, z.B. franz. Sonderzeichen?
Wenn die Seite aktiv generiert wird, z.B. durch PHP, dann ist zusätzlich zu dem bereits erwähnten leider auch noch das ganze Programm von single byte codierung auf multi byte codierung umzustellen.
Es müssen dann die passenden Funktionen für die Stringfunktionen benutzt werden. Aber auch an Stellen, denen man es nicht unbedingt ansieht, muss nachgebessert werden. Wenn z.B. auf Zeichen im String mit
$string[$i]
zugegriffen wird, ist das nun nicht mehr sinnvoll. Das ($i+1)-te Zeichen steht ja nicht mehr sicher an der Position $i.
Und auch beim Abspeichern von Zeichenketten in Dateien muss man genau hingucken, ob der vorgesehene Platz noch ausreicht. Eine Zeichenkette mit 20 Zeichen kann nun (erstmal) bis zu 60 Bytes lang werden.
Da muss man dann also auch nachbessern.
Einige Datenbanken (z.B. MySQL) haben das ebenfalls getan. Sie können jetzt mit varianten Multibyte-Codierungen sowohl beim Abspeichern als auch beim Sortieren umgehen. Man muss es ihnen aber auch sagen, welche Codierung jetzt gilt.
Vorhandene Datenbestände müssen entsprechend angepasst werden, was aber in der Richtung ASCII -> UTF-8 oder ISO 8859-x -> verlustfrei möglich ist.
Harzliche Grüße vom Berg und Frohe Weihnachtszeit
Tom
Hallo Sven,
UTF-8 hat nur Vorteile.
nein, gegen das "nur" lege ich ganz entschieden Widerspruch ein.
Natürlich hat UTF-8 Vorteile, kein Zweifel. Aber es hat auch einige Nachteile. Der größte Nachteil ist wohl, dass die Verarbeitung komplexer und damit komplizierter ist, weil die gewohnte Entsprechung 1 Byte = 1 Zeichen nicht mehr gilt. Funktionen, die in UTF-8 codierte Strings verarbeiten sollen, sind damit wesentlich aufwendiger. Schon allein die Bestimmung der Stringlänge (in Zeichen) erfordert das Durchlaufen und Durchzählen des gesamten Strings, anstatt einfach Endadresse minus Startadresse zu bilden. Beim Indizieren ganz ähnlich.
Ganz nebenbei wird auch vor allem in der Windows-Welt noch vielfach Software eingesetzt, die UTF-8 einfach nicht kennt und stur von Windows-1252 oder gar CP437 ausgeht.
Und dann von "nur" Vorteilen zu sprechen, halte ich für gewagt.
Schönen Abend noch,
Martin
Hallo,
Ist diese Schreibweise bei Mata-Tags Pflicht?
Bei Mata-Tags ja, bei Meta-Tags nein.
Gruß
Tja
Hi,
Ist diese Schreibweise bei Mata-Tags Pflicht?
Bei Mata-Tags ja, bei Meta-Tags nein.
Vielleicht sollte ich so einen Tag mal in meine Seite einbauen - schliesslich habe ich MaTa gelernt ...
MfG ChrisB
Hallo,
Ist diese Schreibweise bei Mata-Tags Pflicht?
Bei Mata-Tags ja, bei Meta-Tags nein.
Vielleicht sollte ich so einen Tag mal in meine Seite einbauen - schliesslich habe ich MaTa gelernt ...
wie man sich hier manchmal um kleine Tippfehler kümmert ist schon erstaunlich. Ich fühle mich beinahe zu einem "fachlich hilfreich" hingerissen - kann mich aber noch bremsen ;)
Grüße, Matze
Hello,
Vielleicht sollte ich so einen Tag mal in meine Seite einbauen - schliesslich habe ich MaTa gelernt ...
Man soll heden Tag chten, als wäre es der letzte.
Harzliche Grüße vom Berg und Frohe Weihnachtszeit
Tom
Hallo,
Wozu das ä bei der UTF-8-Kodierung?
da schau ich mal im "Praxisbuch XHTML" Addison-Wesley Verlag 2001 nach,
Seite 434, Zitat:
"UTF-8 - Durch diesen Zeichensatz lassen sich zwar Sonderzeichen darstellen,
da er jedoch lediglich aus den ersten 128 Zeichen des ISO-Zeichensatzes
besteht, können deutsche Umlaute hierdurch nicht dargestellt werden."
Immerhin, bei den ersten 128 Zeichen entspricht UTF-8 wohl dem ASCII-Code und
kommt mit einer Länge von einem Byte aus.
Grüsse
Cyx23
Hallo Cyx23,
Wozu das ä bei der UTF-8-Kodierung?
da schau ich mal im "Praxisbuch XHTML" Addison-Wesley Verlag 2001 nach,
Seite 434, Zitat:"UTF-8 - Durch diesen Zeichensatz lassen sich zwar Sonderzeichen darstellen,
da er jedoch lediglich aus den ersten 128 Zeichen des ISO-Zeichensatzes
besteht, können deutsche Umlaute hierdurch nicht dargestellt werden."
Sorry, das ist absoluter Blödsinn. Wenn das wirklich so in dem Buch steht hat der Autor gar keine Ahnung von dem Thema.
UTF-8 ist erstmal kein Zeichensatz, sondern eine Zeichenkodierung. Bei ISO-8859 kann man sich ja durchaus auf den Standpunkt stellen, dass die auch Zeichensätze sind, aber UTF-8 ist explizit als Kodierung entwickelt worden und im Standard werden explizit Unicode-Code-Points referenziert, d.h. es Unicode (aka ISO-10640) ist der Zeichensatz, der mit UTF-8 dargestellt werden kann.
Zum anderen: Mit UTF-8 kann man *JEDES* im Unicode-Standard definierte Zeichen kodieren. *JEDES*. Ohne Ausnahme. Auch Umlaute. Die brauchen dann halt zwei Bytes, sind aber in der Kodierung dennoch EIN ZEICHEN (die Kodierung hat halt eine Variable Zeichenzahl). Umlaute lassen sich sehr wohl mit UTF-8 darstellen, mal ein paar Beispiele:
Zeichen UTF-8-Sequenz (Hex) ISO-8859-1/Windows-1252 ISO-8859-15
ä C3 A4 E4 E4
ö C3 B6 F6 F6
ü C3 BC FC FC
Ä C3 84 C4 C4
Ö C3 96 D6 D6
Ü C3 9C DC DC
ß C3 9F DF DF
€ E2 82 AC 80 (nur Windows-1252) A4
Das einzige, was an der obigen Aussage stimmt, ist, dass Bytes zwischen 0x00 und 0x7F in UTF-8 mit den gleichen Bytes US-ASCII (und damit auch allen anderen ASCII-kompatiblen Zeichenkodierung) identifiziert werden können.
Viele Grüße,
Christian
Hallo Christian,
Sorry, das ist absoluter Blödsinn. Wenn das wirklich so in dem Buch steht hat der Autor gar keine Ahnung von dem Thema.
Fand ich so im Zusammenhang mit WAP / WML im o.g. Buch.
Hatte es abgetippt, aber hier gibt es die Stelle auch online im Rahmen
einer Leseprobe:
Grüsse
Cyx23
Hello,
da schau ich mal im "Praxisbuch XHTML" Addison-Wesley Verlag 2001 nach,
Seite 434, Zitat:
Wann is denn das geschrieben worden?
Ich habe gerade mal versucht herauszufinden, wann utf-8 das erste Mal erwähnt worde ist als Entwurf.
Aber 1996 gab es mit der RFC2044 schon eine Erwähnung...
Kann also nicht sein, dass der Autor doch recht hatte :-)
Aber deshalb wirst Du es ja zitiert haben. Ich kann Dich förmllich grinsen sehen.
Harzliche Grüße vom Berg und Frohe Weihnachtszeit
Tom