Validator meckert über meine Zeichenkodierung
Abbi
- html
Hallo,
Ich habe heute meine Webpräsenz XHTML-1.0-strict-tauglich gemacht und ins Web gestellt. Nun ärgert sich der Validator (http://validator.w3.org/), dass ich keine Zeichenkodierung angegeben habe.
Ich frage mich aber, ob die überhaupt nötig ist. Wird die nicht eh vom Server vorgegeben?
Falls nein: kann ich dann UTF8 angeben, selbst wenn im Server etwas anderes eingestellt ist?
Grüße
Abbi
Hi,
Ich habe heute meine Webpräsenz XHTML-1.0-strict-tauglich gemacht und ins Web gestellt. Nun ärgert sich der Validator (http://validator.w3.org/), dass ich keine Zeichenkodierung angegeben habe.
ja. Das ist eine Warnung, weil das oft einfach nur vergessen wird.
Ich frage mich aber, ob die überhaupt nötig ist. Wird die nicht eh vom Server vorgegeben?
Nicht vom Server, sondern vom Standard. Fehlt eine Angabe, gilt UTF-8.
Falls nein: kann ich dann UTF8 angeben, selbst wenn im Server etwas anderes eingestellt ist?
Beim Server ist gar nichts eingestellt, denn andernfalls hätte er ja ein Encoding mitgesendet :-)
Cheatah
Würdest Du denn sagen, dass ich die Zeichenkodierung im HTML nachtrage? Könnte es Darstellungsprobleme geben, wenn ich sie weglasse?
Hi,
Würdest Du denn sagen, dass ich die Zeichenkodierung im HTML nachtrage?
würde ich das sagen? Keine Ahnung, ich habe wenig Kontrolle über das, was Du tust ;-)
Könnte es Darstellungsprobleme geben, wenn ich sie weglasse?
Da Du selbst vorgeschlagen hast, UTF-8 einzutragen (es also offenbar benutzt), halte ich dies für unwahrscheinlich. Meiner Meinung nach ist eine Änderung nicht nötig; ich empfehle allenfalls, bei neuen Seiten das Encoding anzugeben. Oder den Server so zu konfigurieren, dass er es mitsendet.
Cheatah
Cheatah,
Fehlt eine Angabe, gilt UTF-8.
Das gilt für XML, also auch für XHTML.
Für HTML 4.01 gilt:
„Das HTTP-Protokoll ([RFC2616], Abschnitt 3.7.1) führt ISO-8859-1 als Standardkodierung an, sollte der »charset«-Parameter im »Content-Type«-Header-Feld fehlen. In der Praxis hat sich diese Empfehlung als nutzlos erwiesen, weil manche Server es nicht gestatten, einen »charset«-Parameter zu senden und andere nicht entsprechend konfiguriert sein können, den Parameter zu senden. Deswegen dürfen Benutzerprogramme keinen Standardwert für den »charset«-Parameter annehmen.“ [HTML401 §5.2.2]
Gunnar
Hi,
Das gilt für XML, also auch für XHTML.
Für HTML 4.01 gilt:
hoppla, danke für die Info.
Cheatah
Hi,
Ich habe heute meine Webpräsenz XHTML-1.0-strict-tauglich gemacht und ins Web gestellt. Nun ärgert sich der Validator (http://validator.w3.org/), dass ich keine Zeichenkodierung angegeben habe.
Ich frage mich aber, ob die überhaupt nötig ist. Wird die nicht eh vom Server vorgegeben?
Von Deinem Server: nein.
Diese Header werden gesendet:
Connection: close
Date: Sun, 29 May 2005 21:53:55 GMT
Accept-Ranges: bytes
ETag: "34284c-1b5b-429a30f8"
Server: Apache/1.3.31 (Unix)
Content-Length: 7003
Content-Type: text/html
Last-Modified: Sun, 29 May 2005 21:15:36 GMT
Client-Date: Sun, 29 May 2005 21:54:00 GMT
Client-Peer: 192.67.198.52:80
Client-Response-Num: 1
Link: <default.css>; /="/"; rel="stylesheet"; type="text/css"
Title: abbiseite.de / Webprõsenz von Andreas Wieland
X-Meta-Author: Andreas Wieland
X-Meta-Description: Andreas Wieland alias Abbi hat mit abbiseite.de seit 1998 eine Webprõsenz.
X-Meta-Keywords: Andreas Wieland, Abbi
Falls nein: kann ich dann UTF8 angeben, selbst wenn im Server etwas anderes eingestellt ist?
Da Dein Server keine Kodierung sendet, kann es keine Widersrpüchlichkeiten geben.
Angeben mußt Du selbstverständlich die Kodierung, die für das Dokument tatsächlich verwendet wird.
cu,
Andreas
Hi,
Diese Header werden gesendet:
[...]
Link: <default.css>; /="/"; rel="stylesheet"; type="text/css"
Title: abbiseite.de / Webprõsenz von Andreas Wieland
X-Meta-Author: Andreas Wieland
X-Meta-Description: Andreas Wieland alias Abbi hat mit abbiseite.de seit 1998 eine Webprõsenz.
X-Meta-Keywords: Andreas Wieland, Abbi
Perl-Script? ;-)
Cheatah
Hi,
Perl-Script? ;-)
Ja. Warum?
cu,
Andreas
Hi,
Perl-Script? ;-)
Ja. Warum?
weil LWP::UserAgent standardmäßig die HTML-Header den HTTP-Headern hinzufügt. Das lässt sich aber abschalten.
Cheatah
Hi,
Perl-Script? ;-)
Ja. Warum?weil LWP::UserAgent standardmäßig die HTML-Header den HTTP-Headern hinzufügt. Das lässt sich aber abschalten.
Ach so. Ja, das war mal so ein 5-Minuten-Script - aus der Zeit, bevor es die LiveHTTPHeader-Extension gab ;-)
(ich hab nur noch keine simple Methode gefunden, aus dem Page-Info/Header tab die Header rauszukopieren - der Weg über "Save As" ist mir zu umständlich)
cu,
Andreas
Ach so. Ja, das war mal so ein 5-Minuten-Script - aus der Zeit, bevor es die LiveHTTPHeader-Extension gab ;-)
Dafür gibt es doch curl -I <url> bzw. curl --dump - <url>
Hi,
Ach so. Ja, das war mal so ein 5-Minuten-Script - aus der Zeit, bevor es die LiveHTTPHeader-Extension gab ;-)
so hat bei mir auch mal ein Script angefangen - welches mittlerweile über Funktionen wie "Ausgabe als Binärdump/nummerierte Textzeilen/...", "n Redirects folgen", "Cookies übernehmen", "JavaScript filtern", "User-Agent wählen", "Referer angeben" und "beliebige Header setzen" verfügt, natürlich mit den Methoden GET, POST, HEAD, TRACE und OPTIONS in HTTP/0.9 bis 1.1, und in der Quellcode-Ansicht selbstverständlich mit passenden Links auf referenzierte Ressourcen ;-)
Ach, dabei fällt mir ein, ich wollte ja immer noch mal HTTP-Authentication mit einbauen ... *notier* :-)
Cheatah
Hallo Abbi.
Ich frage mich aber, ob die überhaupt nötig ist. Wird die nicht eh vom Server vorgegeben?
Warum sollte sie das ohne weiteres?
Falls nein: kann ich dann UTF8 angeben, selbst wenn im Server etwas anderes eingestellt ist?
In deinem Fall sollte schon das hier genügen.
Gruß, Ashura
Hallo Abbi
Falls nein: kann ich dann UTF8 angeben, selbst wenn im Server etwas anderes eingestellt ist?
Wenn du nur ANSI-Zeichen benutzt und alles andere kodierst, wie auf
http://www.abbiseite.de/, dann kannst du angeben, was du willst.
Der Vorteil bestände aber darin, dass du dir dies sparen könntest, wenn du die
von dir verwendete Zeichenkodierung angibst.
Auf Wiederlesen
Detlef
Moin,
Wenn du nur ANSI-Zeichen benutzt und alles andere kodierst, wie auf
http://www.abbiseite.de/, dann kannst du angeben, was du willst.
Nur um Missverständnisse zu vermeiden (nebenan ist ASCII ja offenbar mal wieder ein Buch mit 7½ Siegeln) muss ich hier mal den Nitpicker machen: Gemeint ist natürlich ASCII.
ASCII benutzt die unteren 7 Bit eines Bytes und ist dort mit ISO-8859-1 (Default für HTTP, wenn nichts anderes angegeben wurde) und UTF-8 (Default für XML, wenn nichts anderes angegeben wurde) deckungsgleich. ANSI ist nicht wirklich ein Zeichensatz, wird aber häufig umgangssprachlich mit dem Zeichensatz (und ein bisschen mehr) von Windows-ähnlichen Systemen, also Windows-1252 und Konsorten gleichgesetzt. Das ist aber eben grade nicht problemlos, da dort auch das obere Bit benutzt wird was mit UTF-8 in Konflikt gerät und die Belegung nicht deckungsgleich mit ISO-8859-1 ist, was zu 'lustigen' Fragezeichenzeichen führen kann, wenn der Browser die Codierung zu Latin-1 errät.
Flussscholgerung: ASCII benutzen, dann ist es weitgehend egal, was der Browser meint raten zu müssen, oder eine Zeichencodierung (ich mag ja mein ISO-8859-15) aussuchen und diese angeben.