Mal eine dumme Frage...
wenn ich den charset wie folgt angebe:
<meta http-equiv ="content-type" content="text/html; charset=ISO-8859-1">
Muss ich dann die Umlaute auf meiner Webseite immer noch mit ¨ usw.
angeben ?!?
Bei mir meckert der W3C-Validator, dass die Seite nicht uft-8 konforme Zeichen enhalten wuerde, wenn ich die Umlaute nicht codiere.
ct.ger proofed ACORN-Apologet - lieber ARM drin, als arm dran
Wobei das:Zitat von hero-master
nicht ganz stimmt. Das ist ein en-dash, bedeutet quasi "von...bis", wie etwa: Das ganze dauert 4–6 Stunden.Der Gedankenstrich wird wie folgt umschrieben:
#8211; oder –
Der Gedankenstrich (auch em-dash genannt) ist #8212; oder — — jedenfalls wurde es mir immer so beigebracht.
Hier alle drei Striche zusammen: Bindestrich, en-dash und Gedankenstrich:
- – —
Also ist die Angabe des Charsets gerade mal für die Katze, wenn der Webserver einfach meine Angaben ignorieren und was anderes senden kann?Zitat von hero-master
ich hatte das mit dem webdeveloper des Firefox auf den XAMPP lokal angewendet...Code:Beachten Sie: Im Konfliktfall, also wenn der Webserver im HTTP-Header eine hiervon abweichende Angabe sendet, wird üblicherweise die Angabe des HTTP-Headers verwendet.
Jetzt habe ich es mal hochgeladen... und da kommt eine sehr Verwirrende meldung, wenn ich es mit dem W3c-icon teste...
Die Seite ist auf www.gryflhase.de abrufbar.
Dies ist der Quelltext:
Klickt einfach mal auf das Prueficon vom w3c.... diese Zeile die es anmeckert hab ich so ueberhaupt nicht im Code...HTML-Code:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html> <head> <meta http-equiv ="content-type" content="text/html; charset=ISO-8859-1"> <link href="/hexenschloss/css.css" rel="stylesheet" type="text/css"> <title>Grußkartenservice des Hexenschlosses</title> </head> <body> <p><a href ="impressum.htm">Impressum</a></p> <h1>Dies ist der Grußkartenservice des Hexenschlosses</h1> <h4>Um ihn Nutzen zu können müssen sie sich einloggen</h4> <p></p> <form class="center" action="userverwaltung/login.php" method="post"> <table class="center"> <tr><td></td><td><a href ="userverwaltung/registrieren.php">registrieren</a></td></tr> <tr><td>Nickname</td><td><input type="text" name="nickname"></td></tr> <tr><td>Passwort</td><td><input type="password" name="passwd1"></td></tr> </table> </form> <div class="w3c"> <p> <a href="http://validator.w3.org/check?uri=referer"> <img src="http://www.w3.org/Icons/valid-html40" alt="Valid HTML 4.0 Strict" height="31" width="88"></a> </p> </div> </body> </html>
*heul* ;-)
Ich glaube ich sollte mich wieder mit Assembler beschaeftigen., das ist wesentlich einfacher ;-)
Geändert von Gryfie (30.10.2005 um 09:25 Uhr)
ct.ger proofed ACORN-Apologet - lieber ARM drin, als arm dran
Gebt nicht zu viel auf die Metaangabe zum Zeichensatz!
Wichtiger ist in der Tat der HTTP-Header - nach dem richten sich die Browser, die Meta-Angabe im Quelltext kommt einfach zu spät.
Den HTTP-Header kann man per .htaccess oder auch PHP einfach beeinflussen - dort sollte der verwendete Zeichensatz korrekt angegeben werden. Bei vielen Providern ist ISO-8859-1 voreingestellt.
Prüfen kann man den HTTP-Header hier: http://web-sniffer.net
Zu den Umlauten:
sowohl bei ISO-8859-1 als auch bei UTF-8 können die deutschen Umlaute direkt in den Quelltext geschrieben werden - Entities sind nicht nötig. Allerdings sind eben beide Zeichensätze nicht miteinander kompatibel und müssen daher sowohl korrekt abgespeichert werden als auch die richtige Zeichensatzangabe per HTTP-Header gesendet werden.
Grüße, Terry
ok, mit htaccess will ich mal nix machen, da ich ja nicht weiss, ob bei einem Umzug zu einem andern Server eine htaccess erlaubt ist...Zitat von Terry
also versuche ich den zeichensatz per PHP mit header() zu senden...
Aber wenn ich die Seite auf meinem loaklen XAMPP habe, und mit dem Webdeveloper vom Firefox die lokale Seite validieren will, dann meckert er mir immer noch, meine zeichen waeren nicht utf-8 konform...PHP-Code:<?php
function beginn_page($title)
{
ini_set('error_reporting', E_ALL);
ini_set('arg_separator.output', '&');
ini_set('url_rewriter.tags', 'a=href,area=href,frame=src,input=src,fieldset=');
header('content-type: text/html; charset=ISO-8859-1');
session_start();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/REC-html4/strict.dtd">
<html>
<head>
<meta http-equiv ="content-type" content="text/html; charset=ISO-8859-1">
<link href="css.css" rel="stylesheet" type="text/css">
<title><?php echo($title);?></title>
<?php
}
function end_page()
{ ?>
<div class="w3c">
<p>
<a href="http://validator.w3.org/check?uri=referer"><img
src="http://www.w3.org/Icons/valid-html401"
alt="Valid HTML 4.01 Strict" height="31" width="88"></a>
</p>
</div>
</body>
</html>
<?php
}
?>
ct.ger proofed ACORN-Apologet - lieber ARM drin, als arm dran
Kann das jemand nach Traumdymnamik verschieben, da es jetzt ja um die Angabe des charsets mit header() geht?
ct.ger proofed ACORN-Apologet - lieber ARM drin, als arm dran
Der XAMPP sendet den korrekten Header.
Meine Seite ist auch valide.
Aber wenn ich mit dem genannten Firefox-Plug "webdeveloper"
- validate local html auswähle...
dann nutzt der wohl dabei die Funktion "validate by file upload"...
das heisst, er schickt en html-file hoch, aber nicht den header, den der
XAMPP erzuegt hat... im file steht zwar in der Meta-Angabe der Content-type mit charset, allerings hört der validator auf den RESPONSE-HEADER, und nicht auf die Metaangabe.
Und dann nimmt der validator utf-8, da das Plugin wohl gar keinen oder einen anderen header sendet.
Der Sinn des Plugins war fuer mich eigentlich, nicht jedesmal zum w3c surfen zu müssen, die IP mit Pfad einzugeben usw.
ct.ger proofed ACORN-Apologet - lieber ARM drin, als arm dran
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)