utf-8 Validitätsprüfung

moebi

Grünschnabel
Hallo,
habe meine Seite eigentlich fertig. Aber ich bekomme be W3C eine Meldung, daß mein code nicht utf-8 entspricht. Ich habe in Dreamweaver die html-Datei in utf8 gespeichert.
Bei W3C gibt die Prüfung bei direktem file-upload an, daß der Code valides utf-8 ist.

Wenn die Datei aber auf meinem Server liegt, kommt die Meldung:

The character encoding specified in the HTTP header (iso-8859-1) is different from the value in the <meta> element (utf-8). I will use the value from the HTTP header (iso-8859-1) for this validation.

Was muß ich tun?

Hier liegt die Datei:

http://www.rentfair.de/kaufmann/kaufmann1440.html

der code:

<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="author" content="Cornelius Kaufmann">
<meta name="publisher" content="Cornelius Kaufmann">
<meta name="copyright" content="© 2008 Wilhelm Kaufmann &amp; Sohn KG - M&uuml;hlheim. All Rights Reserved.">
<meta name="Description" content="Kaufmann &amp; Sohn KG: Seit nunmehr 65 Jahren im Dienst der feinen Uhren dieser Welt.">
<meta name="Keywords" content="Kaufmann, Uhrenarmband,Uhrenarmb&auml;der, Lederband, Lederarmband, Leder, Uhr, Armband, straps, Wilhelm Kaufmann, Cornelius Kaufmann, Alligatoren, Kroko">
<meta name="page-topic" content="Uhrenarmb&auml;der">
<meta http-equiv="Reply-to" content="info@kaufmann.biz">
<meta name="audience" content="alle">
<meta http-equiv="content-language" content="de">
<meta name="robots" content="index, follow">
<meta name="revisit-after" content="7 days">
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
<title>Offizielle Homepage von Wilhelm Kaufman &amp; Sohn KG - Uhrenarmb&auml;nder, Uhrenarmband, Leder, Kroko, Lederarmband, brillant, Alligatoren</title>
<META name="verify-v1" content="String_we_ask_for">
<script language="javascript" type="text/javascript"> AC_FL_RunContent = 0; </script>
<script language="javascript" type="text/javascript"> DetectFlashVer = 0; </script>
<script src="AC_RunActiveContent.js" language="javascript" type="text/javascript"></script>
<script language="JavaScript" type="text/javascript">
<!--
// -----------------------------------------------------------------------------
// Globale Variablen
// Erforderliche Hauptversion von Flash
var requiredMajorVersion = 9;
// Erforderliche Unterversion von Flash
var requiredMinorVersion = 0;
// Erforderliche Flash-Revision
var requiredRevision = 45;
// -----------------------------------------------------------------------------
// -->
</script>
<style type="text/css">
<!--
body {
margin-left: 125px;
margin-right: 0px;
margin-top: 60px;
margin-bottom: 0px;
}
.Stil1 {
font-family: Arial, Helvetica, sans-serif;
font-size: 10px;
color: #CCCCCC;
}
a {
font-family: Arial, Helvetica, sans-serif;
font-size: 10px;
color: #CCCCCC;
}
a:link {
text-decoration: none;
}
a:visited {
text-decoration: none;
color: #CCCCCC;
}
a:hover {
text-decoration: none;
color: #F6F5F3;
}
a:active {
text-decoration: none;
}
-->
</style></head>
<body bgcolor="#000000" style="overflow-x: hidden;
overflow-y: hidden">
<!--Im Film verwendete URLs-->
<a href="impressumloader.swf"></a>
<!--Im Film verwendeter Text-->
<script language="JavaScript" type="text/javascript">
if (AC_FL_RunContent == 0) {
alert("Diese Seite erfordert die Datei \"AC_RunActiveContent.js\".");
} else {
var hasRightVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);
if(hasRightVersion) { // sofern eine akzeptable Version ermittelt wurde
// Flash-Film einbetten
AC_FL_RunContent(
'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,45,0',
'width', '1178',
'height', '620',
'src', 'kaufmann',
'quality', 'high',
'pluginspage', 'http://www.macromedia.com/go/getflashplayer',
'align', 'middle',
'play', 'true',
'loop', 'true',
'scale', 'noscale',
'wmode', 'transparent',
'devicefont', 'true',
'id', 'kaufmann',
'bgcolor', '#000000',
'name', 'kaufmann',
'menu', 'false',
'allowScriptAccess','sameDomain',
'allowFullScreen','true',
'movie', 'kaufmann',
'salign', ''
); //end AC code
} else { // Flash ist veraltet, oder das Plug-In wurde nicht ermittelt
var alternateContent = 'Alternativer HTML-Inhalt sollte hier platziert werden. '
+ 'Für diesen Inhalt ist der Adobe Flash Player erforderlich. '
+ '<a href=https://www.macromedia.com/go/getflash/>Flash installieren&lt;/a>';
document.write(alternateContent); // Nicht aus Flash stammenden Inhalt einfügen
}
}
// -->
</script>
<noscript>
<noframes>
<!-- fuer Suchmaschinen: Text mit Suchbegriffen -->
<div class="text">
<h1>Kaufmann</h1>
<p>Wilhelm Kaufmann &amp; Sohn KG Kaufmann</p>
<h2>Uhrenarmband</h2>
<p>Wilhelm Kaufmann &amp; Sohn KG Uhrenarmband</p>
<h3>Uhrenarmb&auml;nder</h3>
<p>Wilhelm Kaufmann &amp; Sohn KG Uhrenarmb&auml;nder</p>
<h4>Lederarmband</h4>
<p>Wilhelm Kaufmann &amp; Sohn KG Lederarmband</p>
<h5>Kroko</h5>
<p>Wilhelm Kaufmann &amp; Sohn KG Kroko</p>
<h6>Leder</h6>
<p>Wilhelm Kaufmann &amp; Sohn KG Leder</p>
</div>
</noframes>
F&uuml;r diesen Inhalt ist der Adobe Flash Player erforderlich<span class="Stil1"><a href="https://www.macromedia.com/go/getflash/">Flash installieren</a> </span>
</noscript>
</body>
</html>
 
Dein Server scheint das Dokument noch als ISO-8859-1-kodiert auszuliefern. Denn hierbei ist entscheidend, was im HTTP-Header steht und nicht was im Dokument selbst steht.

Welchen Webserver verwendest du? Bei Apache kannst du mit Folgendem dem Webserver sagen, dass HTML-Dokumente als UTF-8-kodiert ausgeliefert werden sollen:
Code:
AddCharset UTF-8 .html
Oder du sagst gleich, dass sämtliche Daten als UTF-8 ausgeliefert werden sollen:
Code:
AddDefaultCharset utf-8
 
Falls du keinen Zugriff auf den Server via SSH oder direkten Zugriff hast, kannst du falls er PHP unterstützen sollte auch einfach mit header('Content-Type: text/html; charset=utf-8'); den gelieferten Header ändern.

Es ist leider nicht ganz verschändlich warum viele Webhoster ihre Daten noch in Latin-1 und nicht in UTF-8 übergeben, immerhinn ist UTF-8 ja nicht Unicode und für Zeichen im Latinbereich auch nicht sondernlich groß.
 
Hallo,
erst mal Danke für die Antworten. Momentan habe ich die Dateien noch auf meinem Testserver. Sie sollen später aber zu 1& 1, die ja PHP haben. Wenn Problem dort auch noch auftritt, melde ich mich nochmal.
 
Dafür, dass es nicht Unicode ist, ist es aber ganz schön viel Unicode. Und zwar genau 8-bit-kodierter Unicode.
Unicode wird gelegentlich auch synonym für UTF-16 (oder UTF-32) verwendet, da dort die Codewörter mit der binären Kodierung der Zeichenpositionen im Zeichensatz identisch sind.
 
Zurück