zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden <?xml version="1.0" encoding="utf-8"?

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 30.11.2004, 02:00
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 26.06.2004
Beiträge: 173
beeviz befindet sich auf einem aufstrebenden Ast
Standard <?xml version="1.0" encoding="utf-8"?

//edit:

nochmal ganz von vorne...

ich habe mir in einem Dokument die Zeile
<?xml version="1.0" encoding="utf-8"?>
eingebaut, welche den Browsern meines Wissens nach mitteilt das es sich um ein UTF-8 kodiertes Dokument handelt.

Soweit sogut, klappt im Firefox auch wunderbar, im Internet Explorer verhaut mir das allerdings das komplette Layout. Allerdings nur, weil der Doctype nicht mehr an erster Stelle steht.

schreibe ich statt
Code:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
einfach

Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<?xml version="1.0" encoding="utf-8"?>
sieht die Seite im IE aus wie gewohnt. Kennt jemand eine Seite wo die ganze (wie ich finde sehr komplizierte) Sache mit den Kodierungen nochmal erklärt wird?
Meine Dateien sind alle im Editor als UTF-8 gespeichert. Muss ich dann überhaupt noch irgendwas angeben was auf die utf-8 kodierung hinweist?
Im IE habe ich gerade gemerkt sollte
Code:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
in den Metatags stehen, sonst zeigt es der IE als "Westeuropäisch (Windows)" an, und haut demnach zig Zeichenfehler rein....

desweiteren sagt der w3c validator jetzt bei zeichen wie » oder auch &
Zitat:
Sorry, I am unable to validate this document because on line 55 it contained one or more bytes that I cannot interpret as utf-8
Warum tut er das? Ich denk gerade utf-8 ist dazu da um seine Zeichen nach Lust und Laune ohne zu maskieren in den Quelltext schreiben kann?!
Wie soll ich die Zeichen denn jetzt darstellen?! etwa als » und &amp; ? Nee, das kanns doch nicht ein, oder?

Oh man, ich sollte vielleicht einfach nochmal drüber schlafen.
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 30.11.2004, 05:25
Benutzerbild von toscho
Perplexifikator
XHTMLforum-Kenner
 
Registriert seit: 22.05.2004
Ort: Halle/Saale
Beiträge: 1.527
toscho sorgt für eine eindrucksvolle Atmosphäretoscho sorgt für eine eindrucksvolle Atmosphäretoscho sorgt für eine eindrucksvolle Atmosphäretoscho sorgt für eine eindrucksvolle Atmosphäretoscho sorgt für eine eindrucksvolle Atmosphäretoscho sorgt für eine eindrucksvolle Atmosphäre
Standard

Die XML-Deklaration kannst du weglassen; wenn du sie benutzt, muß sie vor der Dokumenttyp-Deklaration stehen.
Wichtig sind die HTTP-Header, die dein Server sendet. Offenbar tust du das nicht, sonst würde der IE auch UTF-8 benutzen.

Die Meldung des Validators besagt, daß du irgendein Zeichen im Quellcode hast, das nicht in UTF-8 vorkommen kann. Überprüfe das nochmal.

Zur Lektüre: http://let.imperia.org/howto/de/unicode/unicode.html

Gruß
Thomas
__________________
toscho.de Blog zu Sprache und Design (aktuell: Logfiles analysieren) • Mein Labor
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 30.11.2004, 07:14
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 24.05.2004
Beiträge: 1.179
terrikay befindet sich auf einem aufstrebenden Ast
Standard

Ergänzend zu toscho:

Viele Server sind so konfiguriert, dass sie von alleine ISO-8859-1 ausgeben. Dann paßt das natürlich nicht zusammen. Die Browser halten sich dann normalerweise an die Serveransage, nicht an das, was im Dokument steht.

Da Du wohl nicht Serveradministrator sein wirst und Dein Hoster vermutlich auch nicht wegen Dir was ändert, mußt Du dem Server per PHP oder.htaccess mitteilen, dass er UTF-8 angeben soll.
Per PHP z.B. so:

Code:
<?php
header('Content-type: text/html; charset=utf-8');
?>
Das mit dem Content-type text/html gilt natürlich nur für HTML, nicht für XTHML. Da brauchst Du ein komplizierteres Script, damit gute Browser es korrekt ausgeliefert bekommen (als application/xhtml+xml) und der IE sowie Netscape6 als html (toscho hatte sowas mal gepostet, such mal danach).

Dass Dein IE das Layout verhaut, wenn der XML-Prolog davor ist, liegt schlicht daran, dass der IE6 durch den Prolog in den Quirks-Mode geht und dann das Box-Modell falsch berechnet.

Noch was zum Prolog und Zeichensatz: wenn man UTF-8 benutzt, darf der Prolog weggelassen werden, wenn eine andere Zeichencodierung benutzt wird, dann muß der Prolog davor:
Zitat:
Such a declaration is required when the character encoding of the document is other than the default UTF-8 or UTF-16.
- s.hier: http://www.w3.org/TR/2000/REC-xhtml1-20000126/#docconf
__________________
Grüße,
Terry

... die immer noch sporadisch mitliest, auch wenn sie sich wenig zu Wort meldet ...
Mit Zitat antworten
  #4 (permalink)  
Alt 30.11.2004, 09:01
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 26.06.2004
Beiträge: 173
beeviz befindet sich auf einem aufstrebenden Ast
Standard

ich werds mal mit dem content-type header von terri probieren, danke.

text/html wird nur angegeben weil das dokument, warum auch immer vom wordpress blog cms generiert wird, und dieses das automatisch reinschreibt. und trotzdem wird der xhtml1.0strict doctype mit "rein generiert". Ist da irgendwas jetzt schwerwiegend falsch dran, oder kann ich das einfach mal so dabei belassen? solange der doctype da steht zeigen die Browser mir die Seite immerhin richtig an

Das mit dem quirks mode hatte ich noch gemerkt gestern nacht, danke
Mit Zitat antworten
  #5 (permalink)  
Alt 10.12.2004, 21:43
Benutzer
neuer user
 
Registriert seit: 06.11.2004
Beiträge: 34
manithu befindet sich auf einem aufstrebenden Ast
manithu eine Nachricht über ICQ schicken manithu eine Nachricht über AIM schicken manithu eine Nachricht über MSN schicken manithu eine Nachricht über Yahoo! schicken
Standard

Naja es ist zwar nicht falsch aber wenn du es als text/html ausgibst dann wird es vom browser nicht als xhtml+xml geparsed sondern als html, was dazuführt dass die (wenigen) vorteile von xhtml nicht benützbar sind.

Ausserdem müsste evtl. der browser noch ein paar korrekturen am xhtml machen, wenn du z.b. meta oder link tags schliesst und als text/html ausgibst, könnte der browser denken dass du mit dem slash bereits den head tag geschlossen hättest, was aber normalerweise trotzdem richtig dargestellt werden sollte.
Mit Zitat antworten
  #6 (permalink)  
Alt 11.12.2004, 01:57
Benutzerbild von Tapsiturtle
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 22.07.2004
Beiträge: 196
Tapsiturtle befindet sich auf einem aufstrebenden Ast
Tapsiturtle eine Nachricht über ICQ schicken
Standard

Für mich jetzt nochmal was. Ich erstell ein html Dokument und schreibe Sonderzeichen direkt so rein. Beispielsweise ä, ö, ü. Keine Maskierung oder sonstwas. Dann speicher ich das als bla.htm datei. In dem Dokument ist jetzt die Meta angabe:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Wen ich mir die Seite jetzt lokal anschaue werden die Sonderzeichen aber nicht als solche dargestellt sondern mit dem ?. Wo ist der Fehler? Als Editor benutze ich Ultraedit. Muss ich dem Programm irgendwo angeben das er die Dokumente auch explizit als UTF abspeichern soll?
Mit Zitat antworten
  #7 (permalink)  
Alt 11.12.2004, 02:03
Benutzerbild von netspy
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 13.08.2004
Ort: Leipzig
Beiträge: 1.934
netspy sorgt für eine eindrucksvolle Atmosphärenetspy sorgt für eine eindrucksvolle Atmosphärenetspy sorgt für eine eindrucksvolle Atmosphärenetspy sorgt für eine eindrucksvolle Atmosphärenetspy sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Zitat von Tapsiturtle
Muss ich dem Programm irgendwo angeben das er die Dokumente auch explizit als UTF abspeichern soll?
Ja, dass musst du. Außerdem solltest du statt der Meta-Angaben besser den Webserver entsprechend deiner verwendeten Zeichensatzcodierung konfigurieren oder die Angaben in die .htaccess schreiben.

Code:
AddCharset utf-8 .php .html .xhtml
Mario
Mit Zitat antworten
  #8 (permalink)  
Alt 11.12.2004, 02:07
Benutzerbild von Tapsiturtle
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 22.07.2004
Beiträge: 196
Tapsiturtle befindet sich auf einem aufstrebenden Ast
Tapsiturtle eine Nachricht über ICQ schicken
Standard

Das mit der Meta angabe war jetzt auch eher als Beispiel gedacht.

Gut, werde dann mal das Programm dadrauf durchsuchen. Oder ne Alternative nehmen.
Mit Zitat antworten
  #9 (permalink)  
Alt 11.12.2004, 02:33
Benutzerbild von netspy
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 13.08.2004
Ort: Leipzig
Beiträge: 1.934
netspy sorgt für eine eindrucksvolle Atmosphärenetspy sorgt für eine eindrucksvolle Atmosphärenetspy sorgt für eine eindrucksvolle Atmosphärenetspy sorgt für eine eindrucksvolle Atmosphärenetspy sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Zitat von Tapsiturtle
Gut, werde dann mal das Programm dadrauf durchsuchen. Oder ne Alternative nehmen.
UltraEdit hat offenbar erhebliche Probleme mit Unicode. Sowohl die automatische Erkennung, als auch das Speichern als UTF-8 klappt hier irgendwie nicht so richtig. Ich empfehle dir da eher den kostenlosen PSPad, Nodepad 2 oder den kostepflichtigen Textpad. Die kommen alle mit UTF-8 klar und es ist auch nicht schwer die Kodierung umzustellen.

Mario
Mit Zitat antworten
  #10 (permalink)  
Alt 11.12.2004, 02:38
Benutzerbild von Tapsiturtle
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 22.07.2004
Beiträge: 196
Tapsiturtle befindet sich auf einem aufstrebenden Ast
Tapsiturtle eine Nachricht über ICQ schicken
Standard

Hab auch schon germekt dass das nicht hinhaut. Habe mir eben Textpad runtergeladen. Jetzt bräuchte ich nur ne Funktion bzw. Möglichkeit alle Dateien auf einmal zu bearbeiten und zwar so das automatisch die Maskierungen entfernt werden und die Dateien als UTF-8 gespeichert werden. Ja bin faul.
Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
xhtml validates without <?xml version="1.0" enc raf Ressourcen 2 01.04.2004 21:35


Alle Zeitangaben in WEZ +2. Es ist jetzt 02:36 Uhr.