XHTML 1.0 und charset
bjacke
- html
Hi,
kaum ist die Seite auf dem neuen Server werden Umlaute nicht mehr richtig angezeigt, obwohl im meta das charset definiert wurde.
Woran kann dass jetzt liegen?
->http://www.warr.de/baustelle/htdocs/news.php
Gruß basti
Woran kann dass jetzt liegen?
->http://www.warr.de/baustelle/htdocs/news.php
Gruß basti
weil die Inhalte Deiner Seite UTF-8-codiert sind.
Header ("Content-type") und META sind aber auf ISO-8859-1 gesetzt. Kann also nicht klappen.
Hallo Basti,
kaum ist die Seite auf dem neuen Server werden Umlaute nicht mehr richtig angezeigt, obwohl im meta das charset definiert wurde.
wenn HTML-Dokumente von einem "anständigen" HTTP-Server ausgeliefert werden, ist die META-Angabe, die du meinst, auch völlig wurscht. Wichtig ist, was der Server im HTTP-Header für ein charset angibt, denn die Angabe hat Vorrang. Wie David schon festgestellt hat, liefert dein Server UTF-8 aus, du hast die Dateien aber als ISO-8859-1 gespeichert.
Du hast nun zwei Möglichkeiten: Entweder du codierst deine HTML-Dokumente um in UTF-8, oder du stellst deinen Server so um, dass der ISO-8859-1 als Codierung angibt.
Ich persönlich würde die zweite Möglichkeit wählen, aber das ist Geschmackssache.
So long,
Martin
Hi,
wenn HTML-Dokumente von einem "anständigen" HTTP-Server ausgeliefert werden, ist die META-Angabe, die du meinst, auch völlig wurscht. Wichtig ist, was der Server im HTTP-Header für ein charset angibt, denn die Angabe hat Vorrang. Wie David schon festgestellt hat, liefert dein Server UTF-8 aus, du hast die Dateien aber als ISO-8859-1 gespeichert.
ich glaub ich brauch mal wieder Nachhilfe... Meine Live HTTP Headers sagt mir nichts von UTF-8?!
------------------------
http://www.warr.de/baustelle/htdocs/news.php
GET /baustelle/htdocs/news.php HTTP/1.1
Host: www.warr.de
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Cookie: PHPSESSID=6d019a72390a35119f58e9182ecf5cfa
Cache-Control: max-age=0
HTTP/1.x 200 OK
Date: Sun, 19 Mar 2006 18:00:16 GMT
Server: Apache/1.3.33 (Darwin) DAV/1.0.3 PHP/4.3.11
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Expires: Thu, 19 Nov 1981 08:52:00 GMT
X-Powered-By: PHP/4.3.11
Pragma: no-cache
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html; charset=ISO-8859-1
Content-Language: en
------------------------
Oder sprichst du davon, dass der Server zwar behauptet ISO auszuliefern, die Zeichen aus der Datei aber in einer UTF-8-Kodierung ausliefert?
MfG
Rouven
Hallo,
ich glaub ich brauch mal wieder Nachhilfe...
nein, ich. Und zwar im Lesen. :-|
Meine Live HTTP Headers sagt mir nichts von UTF-8?!
Ich hab's nicht selbst nachgeprüft, sondern mich nur auf das gestützt, was David Aurelio im Parallelposting schon verraten hat. Nur hätte ich es richtig lesen sollen: Ich hatte ihn so verstanden, als liefere der Server "UTF-8" im Content-Type Header, obwohl das Dokument eigentlich ISO-codiert wäre. Anscheinend meinte er genau das Gegenteil.
Oder sprichst du davon, dass der Server zwar behauptet ISO auszuliefern, die Zeichen aus der Datei aber in einer UTF-8-Kodierung ausliefert?
So wird wahrscheinlich ein Schuh draus. Offensichtlich als UTF-8 gespeichert, aber als ISO gekennzeichnet, HTTP-Header und meta stimmen überein (hab's gerade selbst nochmal gecheckt).
Übrigens ist das mal wieder eine von den Seiten, die mein Firefox 1.0.4 zwar korrekt (laut Live-HTTP-Extension) empfängt, aber er zeigt mir nur eine leere Seite. Auf Nachfrage (View Page Source) behauptet er dann, das hier sei der vollständige Quelltext der Seite:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title></title></head><body></body></html>
Das hat mich schon bei vielen Seiten genervt - einer der unerklärlichen Firefox-Bugs; ich hasse diesen Browser so langsam. Opera und IE zeigen die Seite problemlos an.
So long,
Martin
Hallo Martin,
Übrigens ist das mal wieder eine von den Seiten, die mein Firefox 1.0.4 zwar korrekt (laut Live-HTTP-Extension) empfängt, aber er zeigt mir nur eine leere Seite. Auf Nachfrage (View Page Source) behauptet er dann, das hier sei der vollständige Quelltext der Seite:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title></title></head><body></body></html>
Das hat mich schon bei vielen Seiten genervt - einer der unerklärlichen Firefox-Bugs;
Der Bug ist mir zwar noch nicht untergekommen (könnte übrigens eine Extension sein, die Du vewendest und das verursacht, ich aber nicht verwende), aber unabhängig davon: Solltest Du nicht schon aus Sicherheitsgründen nicht besser auf mindestens 1.0.7 aktualisieren?
Viele Grüße,
Christian
Hallo Christian,
Das hat mich schon bei vielen Seiten genervt - einer der unerklärlichen Firefox-Bugs;
Der Bug ist mir zwar noch nicht untergekommen (könnte übrigens eine Extension sein, die Du vewendest und das verursacht, ich aber nicht verwende), ...
kann ich mir kaum vorstellen: Auf meinem heimischen PC ist die LiveHTTP-Headers die einzige Extension, die ich installiert habe.
aber unabhängig davon: Solltest Du nicht schon aus Sicherheitsgründen nicht besser auf mindestens 1.0.7 aktualisieren?
Nö, ich glaube nicht, da ich den FF sowieso nur "unter Zwang" benutze, wenn es unbedingt sein muss. Ich werde aber demnächst mal eine aktuelle 1.5er Version auf einen meiner Rechner packen.
So long,
Martin
Hi,
Übrigens ist das mal wieder eine von den Seiten, die mein Firefox 1.0.4 zwar korrekt (laut Live-HTTP-Extension) empfängt, aber er zeigt mir nur eine leere Seite. Auf Nachfrage (View Page Source) behauptet er dann, das hier sei der vollständige Quelltext der Seite:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title></title></head><body></body></html>
Der Bug ist mir zwar noch nicht untergekommen (könnte übrigens eine Extension sein, die Du vewendest und das verursacht, ich aber nicht verwende), aber unabhängig davon: Solltest Du nicht schon aus Sicherheitsgründen nicht besser auf mindestens 1.0.7 aktualisieren?
Ich habe den 1.0.7 und hierin (auf dieser Seite erstmalig) ein noch seltsameres Phänomen beobachtet: URL in die Adreßzeile kopiert, go -> es wird eine leere Seite dargestelt und im selben Augenblick ein neuer Tab mit der Anzeige des o.g. Quelltextes geöffnet.
Quelltext-Tab geschlossen, reload -> immer noch leere Seite. go -> die richtige Seite wird angezeigt und auch der komplette Quelltext läßt sich aufrufen.
freundliche Grüße
Ingo
echo $begrüßung;
Wie David schon festgestellt hat, liefert dein Server UTF-8 aus, du hast die Dateien aber als ISO-8859-1 gespeichert.
Woher willst du wissen, wie die Dateinen gespeichert sind?
Ich kann folgende Angaben erkennen:
Charset-Angabe im HTTP-Header: ISO-8859-1
Charset-Angabe im HTML-META-Tag: ISO-8859-1
Kodierung der Umlaute im HTML-Quelltext: Entities, ISO-8859-1 und UTF-8
Meine Vermutung ist, dass einige Inhalte aus einer Datenquelle kommen und dort drin UTF-8-kodiert sind, der Rest der Seite ein Template ist, das ISO-8859-1-kodiert ist.
echo "$verabschiedung $name";
Meine Vermutung ist, dass einige Inhalte aus einer Datenquelle kommen und dort drin UTF-8-kodiert sind, der Rest der Seite ein Template ist, das ISO-8859-1-kodiert ist.
Danke @all,
daran lag es, beim exportieren der mysql Daten ist das passiert, weil auf dem einen server eine neuere version lief musst ich beim exportieren das charset irgendwie rausbekommen, hatte aber die falsche operation dafür gewählt.
Schönes WE
HI!
ich hatte kürzlich das Problem, dass der Windows Editor die Dateien immer in einer Kodierung seiner Wahl abspeichert. Wie kriege ich den dazu, alles in ISO-8859-1 abzuspeichern?
Gruß aus Iserlohn
Martin
echo $begrüßung;
ich hatte kürzlich das Problem, dass der Windows Editor die Dateien immer in einer Kodierung seiner Wahl abspeichert. Wie kriege ich den dazu, alles in ISO-8859-1 abzuspeichern?
War die Datei vielleicht schon UTF-8-kodiert? Hatte sie eine UTF-8-BOM?
Beim "Speichern unter" lässt sich beim Windows Editor Version 5.1 eine Codierung einstellen.
echo "$verabschiedung $name";
Hi!
War die Datei vielleicht schon UTF-8-kodiert? Hatte sie eine UTF-8-BOM?
Beim "Speichern unter" lässt sich beim Windows Editor Version 5.1 eine Codierung einstellen.
Die Datei wurde komplett im Windows Editor erstellt, als Kodierung wurde immer "ANSI" (also die Standard-Einstellung) gewählt.
Ich habe dort die Auswahl zwischen ANSI, Unicode, Unicode big Endian und UTF-8. Wie kriege ich dann ISO-8859-1 hin?
Gruß aus Iserlohn
Martin
Hallo,
Ich habe dort die Auswahl zwischen ANSI, Unicode, Unicode big Endian und UTF-8. Wie kriege ich dann ISO-8859-1 hin?
mit ANSI meint der Windows-Notepad in Wirklichkeit Windows-1252, mit Unicode meint er UTF-16 (LSB zuerst, Intel-Format), und mit Unicode Big Endian meint er UTF-16 (mit MSB zuerst, also im Motorola-Format).
Da ISO-8859-1 bis auf den Code-Bereich 80h..9Fh mit Windows-1252 identisch ist, hast du im Prinzip ISO-8859-1, wenn du als "ANSI" speicherst, aber die Zeichen 80h..9Fh nicht verwendest.
Schönen Tag noch,
Martin