Was ist der Vorteil von UTF-8?

maceis schrieb:
Versteh mich nicht falsch; natürlich kann man mit Entities arbeiten.
Es ist aber deutlich überzogen, zu behaupten, alles andere wäre falsch.

So, habe eben nachgelesen. Du hast Recht.

Dann laß mich meine Aussage ändern:
Es macht keinen Sinn, keine Entities zu verwenden, da man nicht davon ausgehen kann, daß die verwendete Codeseite von jedem Anzeigeprogramm unterstützt wird.

Zudem hast du beim editieren das gleiche Problem: Es ist sehr umständlich, einen Umlaut einzufügen, wenn Editor und Seite nicht die gleiche Codeseite verwenden.

Ich hab schon so viele Webseiten gesehen, die keine Entities verwenden, und bei denen die Anzeige nachher nicht stimmt.
 
@heldausberlin

cgi ist ne feine Sache, aber für sowas der absolute Overkill.
Stell Dir vor, bei jedem Seitenaufruf muss zuerst die Seite Zeile für Zeile durch ein Skript laufen, bevor der Webserver die Seite ausliefern kann.

mein Vorschlag:
Schreib die Seiten in ISO8859-1 genauso wie die Datenbank.

Dann fügst Du entweder in jede Seite im html-head die Zeile:
HTML:
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
ein.
Das steht z.B auch bei macuser.de im head Bereich.

Alternativ kannst Du dem WebServer auch sagen, dass er alle Seiten als iso-8859-1 ausliefern soll. Dazu genügt ein Eintrag in einer .htaccess Datei:
Code:
 AddDefaultCharset ISO-8859-1

(Jede Seite parsen - ich fass es nicht! *tststs*)
 
Incoming1983 schrieb:
...
Ich hab schon so viele Webseiten gesehen, die keine Entities verwenden, und bei denen die Anzeige nachher nicht stimmt.
Wenn man es flsch macht, funktioniert es halt nicht. Wenn Du statt &Uuml; nur &Uml; schreibst, funktioniert es ja auch nicht ;).
Und wenn Du das von Dir vorgeschlagene cgi Skript flsch schreibst, wird es ebenfall nicht funktionieren, zumal noch lange nicht jedes WebHosting Angebot freie cgi-Skripte zulässt.

Mein Vorschlag: Richtig machen; größtmöglicher Nutzen bei geringstmöglichem Aufwand und Fehleranfälligkeit.
 
maceis schrieb:
@heldausberlin

cgi ist ne feine Sache, aber für sowas der absolute Overkill.
Stell Dir vor, bei jedem Seitenaufruf muss zuerst die Seite Zeile für Zeile durch ein Skript laufen, bevor der Webserver die Seite ausliefern kann.

Wo ist das Problem?

mein Vorschlag:
Schreib die Seiten in ISO8859-1 genauso wie die Datenbank.

Dann lieber anders: Vorm Hochladen parsen.

Alternativ halt wirklich bis zum Erbrechen testen.
 
Incoming1983 schrieb:
Wo ist das Problem?
Hast Du Dir mal überlegt, was für eine Last das bei großen, häufig besuchten Seiten auf den Server bringen kann. Schneller wird die Seite dadurch auch nicht gerade.
 
maceis schrieb:
Mein Vorschlag: Richtig machen; größtmöglicher Nutzen bei geringstmöglichem Aufwand und Fehleranfälligkeit.

Genau das ist auch mein Motto (nicht nur was Webseiten betrifft).
 
maceis schrieb:
Hast Du Dir mal überlegt, was für eine Last das bei großen, häufig besuchten Seiten auf den Server bringen kann. Schneller wird die Seite dadurch auch nicht gerade.

Gut, bei google würd ichs nicht machen ;-)

Aber eine moderne maschine hält da schon einiges aus. Und wenn der User 10ms länger warten muß, merkt er das idR nicht.
 
@Incoming: Wieso die Arbeit des Browsers auf dem Server nochmal machen? Der Hinweis von maceis bezüglich meta-Tag ist scho der Richtige. Gerade und vor allem in Hinblick auf xhtml/xml!
Falls noch keiner die Eingangsfrage beantwortet hat: UTF-8 ist dazu gut, eine 1:1 Abbildung von ASCII in Unicode zu haben. Nicht mehr und nicht weniger.
 
Don Caracho schrieb:
Das ist aber eine interessante Beschreibung über UTF-8 bei Wikipedia, hat sich das der Author wirklich so gedacht?
http://de.wikipedia.org/wiki/UTF-8
Da hat sich wohl jemand einen Scherz erlaubt und den Eintrag geändert. Unter dem Reiter "Versionen/Autoren" lässt sich die Änderungsgeschichte einsehen, die vorherige Version wurde wohl auch schon wieder hergestellt. Es scheint nur etwas Zeit zu benötigen bis die Server wieder die richtige Version anzeigen.
 
wegus schrieb:
@Incoming: Wieso die Arbeit des Browsers auf dem Server nochmal machen?

Damit der User beim Hochladen nix zu beachten hat. Darum gings.

Ansonsten HTML mit Entities schreiben (bzw. parsen lassen), hochladen und gut is.
 
Damit der User beim Hochladen nix zu beachten hat. Darum gings.

hat er ja auch nicht, wenn Du das Meta-Tag angibst! Der Browser paßt sich automatisch an!
 
wegus schrieb:
hat er ja auch nicht, wenn Du das Meta-Tag angibst! Der Browser paßt sich automatisch an!

Dann muß er aber dafür sorgen, daß er das Meta Tag angibt, und dieses Encoding auch überall unterstützt wird.

Würde er sich ein kleines Skript schreiben, das zeug parsen und ersetzen, bevor er es hochlädt, würde es wohl keine 5s länger dauern und er hätte ein ruhigeres Leben ;-)
 
Dann muß er aber dafür sorgen, daß er das Meta Tag angibt, und dieses Encoding auch überall unterstützt wird.

(1) ab xHTML/XML mußt Du das für ne valide Seite eh tun
(2) was war noch der Sinn von Unicode kopfkratz
 
wegus schrieb:
(1) ab xHTML/XML mußt Du das für ne valide Seite eh tun
(2) was war noch der Sinn von Unicode kopfkratz

Dir ist auch klar, daß nicht jeder Texteditor Unicode unterstützt?

Sorry, ich sags nochmal: Mit Entities hast du keine Probleme, so gut wie alle Darstellungsprobleme mit Umlauten, die ich gesehen habe, sind durch den Versuch entstanden, auf Entities zu verzichten.

Ich weiß auch nicht, was daran ein Problem sein soll, auf altbewährtes zu verzichten, und sich dafür Probleme ins Haus zu schaffen (Codeseitenproblematik), die man dadurch eigentlich verhindern wollte.

Wenn grundsätzlich alles Unicode unterstützt, dann ist gut, das ist aber noch, und insbesondere bei älteren Systemen (PDAs, evtl. auch Handytexteditoren, Alte Windows notepad und edit Versionen etc.) nicht immer der Fall.
 
Ich weiß auch nicht, was daran ein Problem sein soll, auf altbewährtes zu verzichten, und sich dafür Probleme ins Haus zu schaffen (Codeseitenproblematik), die man dadurch eigentlich verhindern wollte.

es ist kein Problem, es ist nur invalider Code! UniCode ist DIE Plattform auf die man sich geeinigt hat. Nat. gibt es noch immer alte Systeme, das ist im schnellebigen EDV-Bereich immer so. Jenachdem für welchen Bereich Du codest, ist es sinnvoll mit der Technik zu gehen oder eben auf unbedingte Kompatibilität zu setzen . Es bleibt Dir ja überlassen. Nach Möglichkeit sollte es jedoch der konforme Weg sein, meinst Du nicht?
 
gib auf wegus ;).
Er ist resistent.

Mit persönlich ist es wurscht, ob irgendein in kisuaheli geschriebener Browser meine Umlaute richtig darstellt oder nicht.:D
Noch was: den meta tag kann man sich schenken, wenn man in seiner .htaccess die Zeile
AddDefaultCharset iso-8859-1
stehen hat.
Meistens brauchts noch nicht mal das, weil es die Default Einstellung ist.
 
Zuletzt bearbeitet:
maceis schrieb:
Noch was: den meta tag kann man sich schenken, wenn man in seiner .htaccess die Zeile
AddDefaultCharset iso-8859-1

Ah, daß hab ich noch nie genutzt! Ist aber auch nichts anderes als eine generelle HTTP-Headergenerierung oder? Sprich der Server tut es pro Verzeichnis als default, statt das es pro Datei angegeben wird...
 
Zuletzt bearbeitet:
wegus schrieb:
Ah, daß hab ich noch nie genutzt! Ist aber auch nichts anderes als eine generelle HTTP-Headergenerierung oder? Sprich der Server tut es pro Verzeichnis als default, statt das es pro Datei angegeben wird...
Ja, richtig.
Man kann es gleich in die Serverkonfiguration schreiben, wenn man selbst Zugriff auf den Server hat.
Die Angabe ist aber üblicherweise auch in .htaccess zulässig und überschreibt dann die Einstellung des Servers.
Ein meta tag im html header überschreibt wiederum beide Angaben.
Viele Server laufen aber ohnehin schon mit iso-8859-1; in dem Fall braucht man weder das eine noch das andere, um mit iso-8859-1 zu arbeiten.
 
wegus schrieb:
es ist kein Problem, es ist nur invalider Code! UniCode ist DIE Plattform auf die man sich geeinigt hat. Nat. gibt es noch immer alte Systeme, das ist im schnellebigen EDV-Bereich immer so. Jenachdem für welchen Bereich Du codest, ist es sinnvoll mit der Technik zu gehen oder eben auf unbedingte Kompatibilität zu setzen . Es bleibt Dir ja überlassen. Nach Möglichkeit sollte es jedoch der konforme Weg sein, meinst Du nicht?

Konform sind beide Wege. Und wer Entities benutzt, wird in der Praxis keine Probleme mit Umlauten und Sonderzeichen haben. Und bisher wurde hier noch nichts genannt, was dagegen sprechen würde.

Sorry, kanns nicht nachvollziehen..
 
Zurück
Oben Unten