HTML HTML deutsche Umlaute richtig anzeigen

raven16

Lieutenant
Registriert
Nov. 2008
Beiträge
580
Hallo,

ich bin auf tipido angemeldet, aber bekomme die Umlaute nicht vernünftig ausgegeben:
Beispiel: "Spaß" soll eigentlich Spaß sein.

Hab schon vieles ausprobiert:

Diese Zeile ganz zuerst in Zeile eins als PHP code
PHP:
header('Content-Type: text/html; charset=ISO-8859-1');

oder im <head> diese Zeile
HTML:
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">

Beides funktioniert leider nicht.
Hat jemand eine Idee für mich? :)
 
Code:
<meta charset="UTF-8">

Das in den head Bereich.

mfg Jojo
 
Code:
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
Das ist schon in Ordnung.
Dann musst du aber im Text die Umlaute anders schreiben.
Aus ü wird &uuml; aus Ü wird &Uuml; aus ö wird &ouml; usw.

alternativ charset=utf-8
Dann musst du allerdings auch dran denken, dass deine Textdatei dann nicht im ANSI, sondern auch im Format UTF-8 (ohne BOM) gespeichert wird.
Geht z.B. mit Notepad++ (Kodierung->Konvertiere zu UTF-8 ohne BOM)
 
Das es Umlaute gibt weiß ich ja schon, man ist ja auch faul das immer und überall zu machen und wenn Inhalte aus der Datenbank kommen, finde ich das auch ein wenig umständlich :D
Hatte auch irgendwo gelesen, dass der ISO Code die Umlaute dann benötigt.

Komisch ist, dass ich eine andere Seite beim gleichen Provider laufen habe, und da funktioniert es komischerweise mit dem header-Befehl...

Aber den Tipp mit dem "richtig" abspeichern probiere ich nochmal aus, danke :)
 
pfc2k8 schrieb:
Code:
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
Das ist schon in Ordnung.
Dann musst du aber im Text die Umlaute anders schreiben.
Aus ü wird uuml aus Ü wird Uuml aus ö wird ouml usw.

Wenn er das tun müsste, wo läge dann der Vorteil an 8859-1 gegenüber 8859? :) Natürlich muss er das nicht, richtig abspeichern und ausliefern vorausgesetzt.
 
Zuletzt bearbeitet:
Alles außer UTF-8 ist einfach nur ein Selbstschuss ins Knie mit nem rostigen Armbrustbolzen.... Warum sollte man sich freiwillig veraltete, rotzige Encodings antun, wenn man mit UTF-8 nahtlos quasi jedes Zeichen inkl. Kyrillisch, Kanji, Griechisch,... verwenden kann?

Eine saubere!!! UTF-8 - Implementierung sorgt dafür, dass man sich niemals mit so nem Mist wie &szlig; herumkloppen muss, außerdem ermöglicht UTF-8 auch einige geile Tricks mit @font-face.
 
Danke, die Konvertierung zu UTF-8 hat mir auf jedenfall den gewünschten Effekt gebracht.
Den <meta> tag habe ich dann mal auch wieder entfernt.
 
Den Meta-Tag oder den Zeichensatz im HTTP-Header musst du schon angeben, sonst müsste der Browser ja raten, welchen Zeichensatz du verwendest. Und das willst du sicherlich nicht, denn das kann durchaus auch schief gehen.
 
So nun jetzt mal zu meiner Konfiguration.
Dateistart:
PHP:
<?php	
	//UTF-8
	header('Content-Type: text/html; charset=utf-8'); 
?>
Head:
HTML:
<head>
<title>Testseite</title>
<link rel="stylesheet" type="text/css" href="css/settings.css" media="screen">
<link rel="stylesheet" type="text/css" href="css/aufbau.css" media="screen">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>

Hab jetzt auch seit der Konvertierung zu UTF-8 nen anderes Problem hinzubekommen:
Alle PHP-Weiterleitungsbefehle, die ich habe, greifen nicht mehr :(
PHP:
header('Location: startseite.php');

Wenn ich das zurück zu ANSI konvertiere, dann funktioniert die Weiterleitung wieder.
Das versteh ich nicht mehr.
 
Zuletzt bearbeitet:
Hast du die Datei vielleicht als UTF-8 mit BOM gespeichert?
 
nee hab einfach nur "Konvertiere zu UTF-8" ausgewählt
 
Darlis wird aber bestimmt schon Recht haben, dein Editor wird wahrscheinlich den UTF8-BOM setzen, ohne dich zu fragen. Öffne die Datei mal z.B. in Notepad++, der zeigt dir dann an, ob es mit oder UTF8-BOM ist.
 
Vollkommen korrekt ist übrigens folgender HTML-Code:

HTML:
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8">

<meta http-equiv="Content-Type".... ist unnötig und ich glaube, in HTML5 sogar vollkommen falsch.
 
Daaron schrieb:
<meta http-equiv="Content-Type".... ist unnötig und ich glaube, in HTML5 sogar vollkommen falsch.
Ich lass den ganzen Code eh immer noch durch den w3 Validator laufen, dann zeigt es mir solche Sachen ja an.
Kommt ja auch drauf an, welche Doctype er benutzt. Bei einem anderen Doctype (als HTML5) ist das glaube ich konform.
 
Ja, aber warum sollte man was anderes als HTML5 verwenden? Damit schießt man sich doch selbst ins Bein, weil man somit auf <audio> & <video> verzichten muss, genauso wie auf Inline-SVG oder Canvas.
Einziger Vorteil von XHTML 1.1: Der Validator meckert nicht, wenn man OpenGraph - Metatags verwendet und dafür die FBXML-Erweiterung einbindet.
 
Hey, ich habe dasselbe Problem, nur mit dem Unterschied, dass ich UTF-8 schon benutze aber trotzdem werden mir Umlaute als � angezeigt. Mein Code sieht folgendermaßen aus:
HTML:
<!DOCTYPE html>

<html>
    <head>
        <title>Beispielseite</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
    </head>
    <body>
        ...
    </body>
</html>
 
Du hast das "umgekehrte" Problem zur Ausgangslage des TE... er hatte UTF-8 Quelltext und ISO als Angabe, bei dir ist es umgekehrt. Du musst deine Quelltexte nach UTF-8 konvertieren (über den Editor), dann passts.
 
Und natürlich musst du deine Datenbank-Anbindung, falls vorhanden, ebenfalls auf UTF-8 trimmen.
 
Zurück
Oben