Wie Umlaute ausdrücken?
Viennamade
- html
Hallo liebe Forumsteilnehmer!
Meine Frage an Euch lautet: Wenn html-Dateien mit diesen Deklarationen
<?xml version="1.0" encoding="UTF-ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
ausgestattet sind, muß/soll ich dann Umlaute weiterhin mittels Zeichenfolge (Bsp. ü) angeben, oder kann/darf ich Umlaute so schreiben wie das in unseren Breiten _ü_blich ist?
Die betreffenden Seiten werden auch von Usern anderer Kontinente besucht, mit PHP generiert und die Textinhalte kommen großteils aus einer MySQL-Datenbank - so dies alles überhaupt relevant ist.
Ich habe im Archiv und im selfhtml gesucht, aber ich fand keine Info, die meine Entscheidungsfrage mit ja/nein beantwortet hätte.
Danke
Viennamade
<?xml version="1.0" encoding="UTF-ISO-8859-1"?>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />ausgestattet sind, muß/soll ich dann Umlaute weiterhin mittels Zeichenfolge (Bsp. ü) angeben, oder kann/darf ich Umlaute so schreiben wie das in unseren Breiten _ü_blich ist?
Viennamade,
Das darfst du.
Die betreffenden Seiten werden auch von Usern anderer Kontinente besucht, mit PHP generiert und die Textinhalte kommen großteils aus einer MySQL-Datenbank - so dies alles überhaupt relevant ist.
Ist es nicht.
Gunnar
<?xml version="1.0" encoding="UTF-ISO-8859-1"?>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />ausgestattet sind, muß/soll ich dann Umlaute weiterhin mittels Zeichenfolge (Bsp. ü) angeben, oder kann/darf ich Umlaute so schreiben wie das in unseren Breiten _ü_blich ist?
Viennamade,
Das darfst du.
Danke Gunnar!
Viennamade
Hallo,
<?xml version="1.0" encoding="UTF-ISO-8859-1"?>
Von UTF-ISO-8859-1 habe ich noch nie gehoert.
Entweder UTF-8 oder UTF-16.
Oder aber ISO-8859-1
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
Falls Du ueberhaupt ein Meta-Tag einbaust, sollte die Angabe
natuerlich mit der im XML-Prolog uebereinstimmen.
Und falls der Webserver auch noch eine Charset-Angabe
per HTTP ausgibt, sollte diese ebenfalls korrekt sein.
(Die HTTP-Angabe ist am "staerksten".)
muß/soll ich dann Umlaute weiterhin mittels Zeichenfolge (Bsp. ü) angeben, oder kann/darf ich Umlaute so schreiben wie das in unseren Breiten _ü_blich ist?
Du darfst.
Bei einer korrekten Charset-Angabe koennen auch uncodierte Sonderzeichen
direkt im Quellcode stehen, siehe:
http://www.dodabo.de/charset/#s2
Gruesse,
Thomas
Hallo Thomas,
<?xml version="1.0" encoding="UTF-ISO-8859-1"?>
Von UTF-ISO-8859-1 habe ich noch nie gehoert.
Siehst Du, man lernt nie aus;-) Nein, ISO-8859-1 meinte ich ..., Danke.
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
Und falls der Webserver auch noch eine Charset-Angabe
per HTTP ausgibt, sollte diese ebenfalls korrekt sein.
(Die HTTP-Angabe ist am "staerksten".)
brrr, was heißt das? Ich verstehe das so: Der meine Seiten hostende Server kann etwas aussenden, was meine Deklaratioen hinfällig macht? Ist dem so? Und wie bringe ich in Erfahrung was der Server für Charset-Angaben aussendet?
Bei einer korrekten Charset-Angabe koennen auch uncodierte Sonderzeichen direkt im Quellcode stehen, siehe:
http://www.dodabo.de/charset/#s2
Danke für den Link, hab ich genau gelesen, aber meine obige Frage ....
Danke!
Viennamade
Hallo,
Der meine Seiten hostende Server kann etwas aussenden, was meine Deklaratioen hinfällig macht?
Ja. Zumindest das META-Tag.
Gemaess der HTML 4.01-Spezifikation hat die Charset-Angabe,
die vom Webserver im HTTP-Header angegeben wird, staerkeres Gewicht
als die Angabe im META-Tag. (Dieses ist nur ein "Lueckenbuesser"):
http://www.w3.org/TR/html401/charset.html#idx-character_encoding-6
Bei XHTML-Dokumenten ist offenbar die Angabe in der XML-Deklaration
am "staerksten":
http://www.w3.org/TR/xhtml1/#C_9
Das Verhalten eines Apache-Webservers kann man z.B. in der .htaccess
mit den Direktiven AddDefaultCharset (fuer alle Text-Dateien)
bzw. AddCharset (fuer Dateien mit einer bestimmten Endigung) festlegen.
http://httpd.apache.org/docs/mod/core.html#adddefaultcharset
http://httpd.apache.org/docs/mod/mod_mime.html#addcharset
Und wie bringe ich in Erfahrung was der Server für Charset-Angaben aussendet?
http://cgi.w3.org/cgi-bin/headers
http://www.schroepl.net/cgi-bin/http_trace.pl
Gruesse,
Thomas
Hallo!
Gemaess der HTML 4.01-Spezifikation hat die Charset-Angabe,
die vom Webserver im HTTP-Header angegeben wird, staerkeres Gewicht als die Angabe im META-Tag.Bei XHTML-Dokumenten ist offenbar die Angabe in der XML-Deklaration »» am "staerksten":
Das Verhalten eines Apache-Webservers kann man z.B. in der .htaccess
mit den Direktiven AddDefaultCharset (fuer alle Text-Dateien)
bzw. AddCharset (fuer Dateien mit einer bestimmten Endigung) festlegen.Und wie bringe ich in Erfahrung was der Server für Charset-Angaben aussendet?
http://cgi.w3.org/cgi-bin/headers
http://www.schroepl.net/cgi-bin/http_trace.pl
Danke für das Licht, Thomas!
Viennamade
Meine Frage an Euch lautet: Wenn html-Dateien mit diesen Deklarationen
<?xml version="1.0" encoding="UTF-ISO-8859-1"?>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />ausgestattet sind, muß/soll ich dann Umlaute weiterhin mittels Zeichenfolge (Bsp. ü) angeben, oder kann/darf ich Umlaute so schreiben wie das in unseren Breiten _ü_blich ist?
Nein. Du darfst sie aber so schreiben, wie es der angegebene Zeichensatz erlaubt.
Warum das ein Unterschied ist? Weil es unangenehm viele Windows-Benutzer gibt, die meinen, die Angabe iso-8859-1 sei "üblich" und dann die Welt mit Eurozeichen und anderen Dingen gemäß windows-1252 beglücken, die sich mit iso-8859-1 überhaupt nicht darstellen lassen.
Das, was als Zeichensatz deklariert wird, muß nichts mit dem zu tun haben, was das Betriebssystem des Texteingebers verwendet (dies gilt sowohl für die heimische Erstellung der Seiten als auch für per <input> oder <textarea> eingegebene Daten).
Bitte achte darauf. Oder verwende einfach weiter die HTML-Umschreibungen, es gibt in PHP dankenswerter Weise die Funktion htmlentities().
Es sei vielleicht auch noch angemerkt, daß der Server unter Umständen selber eine Zeichensatzangabe ausspuckt, am ehesten zu erkennen in den Seiteninformationen des Browsers. Achte darauf, daß sich das nicht in die Quere kommt.
Hallo, Du allwissende Müllhalde!
Nein. Du darfst sie aber so schreiben, wie es der angegebene Zeichensatz erlaubt.
Warum das ein Unterschied ist? Weil es unangenehm viele Windows-Benutzer gibt, die meinen, die Angabe iso-8859-1 sei "üblich" und dann die Welt mit Eurozeichen und anderen Dingen gemäß windows-1252 beglücken, die sich mit iso-8859-1 überhaupt nicht darstellen lassen.
Das, was als Zeichensatz deklariert wird, muß nichts mit dem zu tun haben, was das Betriebssystem des Texteingebers verwendet (dies gilt sowohl für die heimische Erstellung der Seiten als auch für per <input> oder <textarea> eingegebene Daten).Bitte achte darauf. Oder verwende einfach weiter die HTML-Umschreibungen, es gibt in PHP dankenswerter Weise die Funktion htmlentities().
Äh, Du wirst erstaunt sein, ich habe Dein Posting mindestens 20x gelesen (liegt sicher an mir, nicht an Deinem Text). Erst jetzt beginne ich es zu verstehen, und zwar so:
1. Ich darf die Umlaute in den Quelltext _tippen_.
2. Ich möge aufpassen, nur Zeichen reinzutippen die im angegebenen Zeichensatz drinnen sind, und
3. ich soll ich gewarnt sein, daß der Zeichenvorrat der Anwender (Input/Textarea) größer/anders als jener von ISO-8859-1 (bzw. dem verwendeten) ist.
Alles klar,
Danke!
Viennamade