"" Fehlermeldung warum?

  • Ich habe folgendes Problem, und zwar wird mir diese Fehlermeldung ausgegeben:

    

    ich hab keine Ahnung warum, und würde bitte gerne wissen was ich tun kann damit diese nicht erscheint. Und falls jetzt welche sagen, dass steht im Quelltext.... NEIN, es steht nur dann wenn ich meine Homepage mit Firefox öffne. Obwohl ich kein Fan vom IE bin lässts sich mit dem ohne Meldung öffnen!!

    LINK

    Die Meldung wär ja nicht das Problem, nur werden mir die Bedienelemente nach unten geschoben....

    THX Sonny

  • Willkommen!

    Das ist keine Fehlermeldung, sondern steht so in Deinem Quelltext. Ich vermute, Du hast die Datei mit Word oder ähnlichem erstellt. Du gibst als Charset UTF-8 an, aber die Datei ist in Wirklichkeit in Microsoft Unicode gespeichert.

    Aloha, Uli

    Seit 102.0 wieder mit dem jeweils neuesten 64bit-Fx von tete009 unterwegs.

  • sorry, was ich vergessen hab zu schreiben.
    wenn ich die index datei lokal öffne, kommen die komischen Zeichen nicht.
    Nur wenn ich diese auf den Server hochlade und öffne kommen die Zeichen. Am Server sollte es nicht liegen weils im IE geht.

    charset hab ich scho mit unicode und utf-16le versucht, ohne erfolg!!

    EDIT:
    Hab grad im Firefox die Zeichenkodierung per Hand auf utf-8 umgestellt und siehe da, es geht. Nur kann das nicht automatisch gehn??

  • Die Datei ist aber nunmal in einem Microsoftschen Format gespeichert.
    Wenn ich sie in einem normalen Editor öffne, kann man es sehen:
    [Blockierte Grafik: http://img111.imageshack.us/img111/7606/unbenannt2zo2.jpg]

    [edit] Laß doch einfach mal den xml-Header weg:
    Statt

    Code
    [html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"]


    einfach nur

    Code
    [html]

    Eckige Klammern, weil das Board <> nicht richtig rafft. :?

    Aloha, Uli

    Seit 102.0 wieder mit dem jeweils neuesten 64bit-Fx von tete009 unterwegs.

    Einmal editiert, zuletzt von UliBär (5. November 2006 um 22:36)

  • wie kann ich das richten??

    EDIT:
    Hab grad meine Stammdatei, also die lokale, im Wordpad geöffnet und da sind die Zeichen nicht. Die sind nur da sobald man irgendwie mit Firefox draufzugreift, außer man stellt per Hand auf UTF-8 um

    Einmal editiert, zuletzt von Darksonny (5. November 2006 um 22:37)

  • Zitat von UliBär

    Eckige Klammern, weil das Board <> nicht richtig rafft.


    [OT] [X] HTML in diesem Beitrag deaktivieren sollte helfen. [/OT]

    Gruß Coce

    Keine Garantie für Richtigkeit meiner Tipps! Fragen/Antworten nicht per PN/IM/E-Mail!

  • Zitat von Darksonny

    wie kann ich das richten??

    EDIT:
    Hab grad meine Stammdatei, also die lokale, im Wordpad geöffnet und da sind die Zeichen nicht. Die sind nur da sobald man irgendwie mit Firefox draufzugreift, außer man stellt per Hand auf UTF-8 um

    Einfach die Datei einmal in einem richtigen Editor öffnen und die Zeichen entfernen und wieder abspeichern.
    Wordpad erkennt MS-Unicode-Dateien und zeigt die Zeichen deshalb nicht an.

    Aloha, Uli

    Seit 102.0 wieder mit dem jeweils neuesten 64bit-Fx von tete009 unterwegs.

  • [quote='Darksonny']wie kann ich das richten??

    Die Datei in einem Editor öffnen, eine neue Seite anlegen und den Textinhalt in die neue Seite kopieren. Mach es mit der Maus und nicht mit Alles markieren, sonst erwischst du diese kryptischen Zeichen mit.
    Außerdem empfehle ich dir, Dateinamen ohne Leerzeichen zu verwenden. Stattdessen kannst den Unterstrich _ verwenden.

    Übersetzer für Obersorbisch und Niedersorbisch auf pontoon.mozilla.org u.a. für Firefox, Firefox für Android, Firefox für iOS, Firefox Klar/Focus für iOS und Android, Thunderbird, Pootle, Django, LibreOffice, LibreOffice Onlinehilfe, WordPress

  • so was ich jetzt geschafft hab!! ;)

    die seite am server geöffnet, die zeichen warn da, den quelltext kopiert und in dreamweaver. dort die zeichen entfernt und gespeichert dann auf den server.

    Jetz juhu es geht... in Firefox, dafür aber nicht mehr im IE !!!

    EDIT: sehts euch an, ich lasses mal so.....

  • Zitat

    Du gibst als Charset UTF-8 an, aber die Datei ist in Wirklichkeit in Microsoft Unicode gespeichert.


    Sorry, das ist einfach Unsinn. Was soll denn bitte Microsoft Unicode sein?

    Unicode ist zwar für dieses Problem in der Tat mitschuldig, aber das ist ein Standard und keine MS-spezifische Sache. UTF-8 ist übrigens *die* Unicode-Kodierung schlechthin, zumindest, wenn es um Webseiten geht. Die hier angezeigte Zeichenfolge ist eine Byte-Order-Mark, die aufgrund von einer Kodierungsangabe im HTTP-Header als ISO-8859-1-Text aufgefasst wurde. Firefox macht dies völlig korrekt, da das Dokument als text/html ausgeliefert wird und dafür die Regeln von HTML gelten. Dort ist vorgeschrieben, dass eine Kodierungsangabe im HTTP-Header absolute Priorität über andere Angaben hat: http://www.w3.org/TR/html4/charset.html#spec-char-encoding

    Und im Header steht eben auch folgendes:

    Code
    Content-Type: text/html; charset=ISO-8859-1

    Das liegt an deinem Hoster, der fährt da eine etwas seltsame und XHTML-feindliche Konfiguration, die man afaik auch nicht ändern kann. Wenn der IE sich da anders verhält, ist das wohl ein Bug ...

    Generell ist eine Aussage wie

    Zitat

    Am Server sollte es nicht liegen weils im IE geht.

    ziemlich wackelig, da der IE ja des öfteren was falsch macht. Andersrum, wenn sich der IE seltsam verhält und andere Browser wie gewünscht funktionieren, gilt sowas schon eher. Das liegt ganz einfach daran, dass andere Browser die Webstandards mit deutlich weniger Fehlern umgesetzt haben. Generell sollte man aber immer kritisch hinterfragen warum so ein Problem auftritt und es nicht vorschnell auf eine Software schieben, selbst wenn sie als einzige das Problem zeigt. Vielleicht ist gerade sie als einzige korrekt und die anderen haben Implementierungsfehler ...

    Zurück zu deinem Problem und zu dessen Lösung:

    Entweder du wechselst zu einem Hoster mit einem weniger seltsamen Setup, oder du nutzt wie vom Server erwaret ISO-8859-1, das solltest du aber wiederum dann nicht in Kombination mit XHTML nutzen und daher auf HTML ausweichen. http://schneegans.de/web/xhtml/

    Zitat
  • Zitat von kaefermich

    Sorry, das ist einfach Unsinn. Was soll denn bitte Microsoft Unicode sein?

    Unsinn? Soso... Das ist genau das Format (UTF-16LE) in dem Microsoft-Produkte ungefragt speichern, ohne es dem Benutzer mitzuteilen. :P

    Aloha, Uli

    Seit 102.0 wieder mit dem jeweils neuesten 64bit-Fx von tete009 unterwegs.

  • Zitat von UliBär

    Unsinn? Soso... Das ist genau das Format (UTF-16LE) in dem Microsoft-Produkte ungefragt speichern, ohne es dem Benutzer mitzuteilen. :P


    Die Datei wird als iso-8859-1 behandelt, gibt aber im content-type utf-8 an. Das beißt sich. Wenn man in FF oder SM Unicode einstellt, verschwinden die kryptischen Zeichen.
    Übrigens habe ich mir mal die Seite heruntergeladen und dort erhalte ich dasn utf-8 mit BOM.
    Die Datei gibt auch vor, eine XHTML-Datei zu sein, ist aber meiner Meinung nach nicht XHTML-konform. Es fehtl zum Beispiel am Anfang die Eintragung
    <?xml version="1.0" encoding="utf-8" ?>
    Da wäre es schon klar, dass es hier um utf-8 gehen soll. Da diese Zeile aber nicht angegeben ist, wird iso-8859-1 angenommen.

    Übersetzer für Obersorbisch und Niedersorbisch auf pontoon.mozilla.org u.a. für Firefox, Firefox für Android, Firefox für iOS, Firefox Klar/Focus für iOS und Android, Thunderbird, Pootle, Django, LibreOffice, LibreOffice Onlinehilfe, WordPress

  • Zitat

    Das ist genau das Format (UTF-16LE) in dem Microsoft-Produkte ungefragt speichern, ohne es dem Benutzer mitzuteilen.

    Ok, Windows NT und höher verwendet *intern* für die Stringbehandlung UTF-16 aber die BOM hier ist eben auch in UTF-8 und nicht in UTF-16LE kodiert, daher passt dein Einwurf hier eben nicht. Recht hast du aber insofern, als dass der Windows-Editor bei der Auswahl von "Unicode" im Kodierungsdialog UTF-16LE-kodierte Dateien schreibt. Das ist aber auf eine ziemlich unglückliche Bezeichnung dieses Auswahlpunkts zurückzuführen. UTF-7, UTF-8 und UTF-32 sind ebenso Unicode-Kodierungen wie UTF-16, in Firefox werden sie ja auch in der manuellen Kodierungsauswahl zu Recht alle gleichberechtigt unter dem Punkt Unicode angeboten.

    Firefox kommt natürlich auch mit UTF-16-kodierten Dokumenten klar, allerdings ist mir kein Grund bekannt, warum man Webseiten so kodieren sollte und in der Praxis taucht sowas auch eigentlich nirgendwo auf. Auch kenne ich keinen Microsoft-Editor, der Webseiten von sich aus in UTF-16 erstellt. So blöde ist selbst MS dann nicht. Zumindest ist hier Microsoft oder UTF-16 definitiv nicht das Problem.

    Zitat

    Die Datei wird als iso-8859-1 behandelt, gibt aber im content-type utf-8 an. Das beißt sich.


    Es ist natürlich immer dumm, wenn widersprüchliche Angaben auftreten. Hier ist aber das meta-Element gar nicht mal das Problem, die BOM selbst würde ja schon die Kodierung angeben, das ist ja schließlich ihre Aufgabe.

    Zitat

    Die Datei gibt auch vor, eine XHTML-Datei zu sein, ist aber meiner Meinung nach nicht XHTML-konform. Es fehtl zum Beispiel am Anfang die Eintragung
    <xml>


    Deine Meinung hilft hier nicht weiter, die Angabe ist eben gerade bei UTF-X-Kodierungen optional, da hier eben über die BOM die Kodierung angegeben werden kann. Ja, es ist sogar sinnvoll, sie wegzulassen. Begründung siehe Link weiter oben. Das Dokument ist bis auf die wegen der abweichenden Kodierungsangabe im Header herumgeisternde BOM und dem fehlenden CDATA-Block in dem ersten script-Element durchaus valide.

    Zitat

    Da wäre es schon klar, dass es hier um utf-8 gehen soll. Da diese Zeile aber nicht angegeben ist, wird iso-8859-1 angenommen.


    Nein, wäre es dadurch eben nicht. Zum einen weil die BOM das Dokument eh schon als UTF-8-kodiert ausweisen würde, zum anderen weil bei dem MIME-Typ text/html diese Angabe von den Browsern eh völlig ignoriert wird. Probier es selber aus, wenn du es nicht glaubst. ISO-8859-1 wird hier auch nicht durch irgendeine Heuristik oder ein Fallback "angenommen", der Server weist das Dokument eindeutig (aber eben fälschlich :)) als ISO-8859-1-kodiert aus.

    Interessant sind an dieser Stelle vielleicht auch noch folgende URIs:
    http://www.validome.org/get/http://fre…gal_hitzendorf/
    http://www.validome.org/lang/ge/errors/XML-CHARSET

    Da es offenbar bei unterschiedlichen Angaben in BOM und HTTP-Header entgegen meiner Erinnerung wohl keine definierte Fehlerbehandlung gibt, macht es der IE also wohl auch nicht direkt falsch sondern einfach nur anders. Sowas ist ja ein typisches Problem bei undefinierten Zuständen und fehlender Fehlerbehandlung, ein Grund mehr die Standards einzuhalten.