HTML-Kopf: Umlaute

Hier kann über alles diskutiert werden, wirklich alles. Betonung liegt auf "diskutiert", das ist also kein Freischein zum Spammen.
(Beitragszähler deaktiviert)
Antworten
Benutzeravatar
Latzhosenträger
großer Laubbär
Beiträge: 3309
Registriert: 2. Apr 2008, 15:14

HTML-Kopf: Umlaute

Beitrag von Latzhosenträger » 1. Mär 2011, 17:40

Moin Moin,

ich finde gerade nicht das entsprechende. Ich weiß, dass man mehrere Dinge im Kopf einer HTML-Datei eingeben muss, damit man nicht bei jedem Umlaut (oder ß) extra ä etc. eintippen muss sondern die einfach korrekt umgesetzt werden.

Kann mir gerade jemand auf die Sprünge helfen? Müsste eine Metaangabe und der Doctype sein, glaub ich.

Benutzeravatar
Flummi
Gelbbart-Yeti
Beiträge: 2338
Registriert: 17. Mai 2008, 11:22

Re: HTML-Kopf: Umlaute

Beitrag von Flummi » 1. Mär 2011, 18:05

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Nyrea hat geschrieben: 17. Jan 2020, 14:18#BigBugBob

Benutzeravatar
Latzhosenträger
großer Laubbär
Beiträge: 3309
Registriert: 2. Apr 2008, 15:14

Re: HTML-Kopf: Umlaute

Beitrag von Latzhosenträger » 1. Mär 2011, 18:08

pFT hat geschrieben:<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Danke. Hatte ein anderes Charset (iso-8859-1).
Aber bis jetzt klappt das immer noch nicht. Wenn es sich um eine PHP Datei handelt muss man sicher noch etwas anderes hinzufügen, oder?

Das ist eine Datei mit ganz normalem HTML, PHP nutze ich nur für den Content. Die Umlaute werden nicht im Content (mittels include) angezeigt, aber auch nicht im Footer, der nicht in PHP geschrieben ist, angezeigt.

Benutzeravatar
Latzhosenträger
großer Laubbär
Beiträge: 3309
Registriert: 2. Apr 2008, 15:14

Re: HTML-Kopf: Umlaute

Beitrag von Latzhosenträger » 1. Mär 2011, 18:40

=snigg= hat geschrieben:spiel mal mit utf8_decode bzw encode rum ^^
Wie meinen?^^
=snigg= hat geschrieben:jenachdem wo dein content herkommt (zb aus ner db) kannste das auch direkt in den db-befehl integrieren
Aus anderen PHP-Dateien per include.

Benutzeravatar
Flummi
Gelbbart-Yeti
Beiträge: 2338
Registriert: 17. Mai 2008, 11:22

Re: HTML-Kopf: Umlaute

Beitrag von Flummi » 1. Mär 2011, 19:06

header("Content-type: text/html; charset=UTF-8");
Nyrea hat geschrieben: 17. Jan 2020, 14:18#BigBugBob

Benutzeravatar
Latzhosenträger
großer Laubbär
Beiträge: 3309
Registriert: 2. Apr 2008, 15:14

Re: HTML-Kopf: Umlaute

Beitrag von Latzhosenträger » 1. Mär 2011, 19:16

Mittlerweile verzweifel ich.

Kopf der index-php

Code: Alles auswählen

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       "http://www.w3.org/TR/html4/loose.dtd">

<?php
header("Content-Type: text/html; charset=utf-8");
?>	   
	   
<html>
  <head>

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

    <title>...</title>
    <link rel="stylesheet" href="webpage.css" type="text/css" />
  </head>
  <body>
So wird der Content in die index-php geladen:

Code: Alles auswählen

<?php
$page = $_GET["page"]; 
if (empty($page)){ 
$page = "startseite"; }
$open = $page.".php"; 
if (file_exists($open)) include($open);
else include("fehler.php"); 
?>
So sieht die startseite.php aus:
(nichts weiter drin, gliedert sich ja in die Index ein.)

Code: Alles auswählen

Es war einmal und ist nichtmehr ein kugelrunder Teddybär. Es war einmal und ist nichtmehr ein kugelrunder Teddybär. Es war einmal und ist nichtmehr ein kugelrunder Teddybär. Es war einmal und ist nichtmehr ein kugelrunder Teddybär. Es war einmal und ist nichtmehr ein kugelrunder Teddybär. Es war einmal und ist nichtmehr ein kugelrunder Teddybär. Es war einmal und ist nichtmehr ein kugelrunder Teddybär. Es war einmal und ist nichtmehr ein kugelrunder Teddybär. Es war einmal und ist nichtmehr ein kugelrunder Teddybär. Es war einmal und ist nichtmehr ein kugelrunder Teddybär. Es war einmal und ist nichtmehr ein kugelrunder Teddybär. Es war einmal und ist nichtmehr ein kugelrunder Teddybär. Es war einmal und ist nichtmehr ein kugelrunder Teddybär. 
Hat jemand eine Idee?

Benutzeravatar
Latzhosenträger
großer Laubbär
Beiträge: 3309
Registriert: 2. Apr 2008, 15:14

Re: HTML-Kopf: Umlaute

Beitrag von Latzhosenträger » 1. Mär 2011, 19:21

Dadurch steht da überall "Es war einmal und ist nichtmehr ein kugelrunder Teddyb?" Das "är." fehlt also in jedem Satz.

Benutzeravatar
Latzhosenträger
großer Laubbär
Beiträge: 3309
Registriert: 2. Apr 2008, 15:14

Re: HTML-Kopf: Umlaute

Beitrag von Latzhosenträger » 1. Mär 2011, 19:25

=snigg= hat geschrieben:kack die wand an muss natuerlich encode sein ^^
Klappt - Danke!

Ich bin mir sicher, pft kriegt das eleganter hin, aber immerhin läufts jetzt.

Dadurch ist aber nur der Content "clean". Ganz normale Umlaute in der index.php, außerhalb des Content-bereichs, buggen immer noch. Aber einerseits brauch ich da keine (auch wenns seltsam ist) und andererseits kann man die ja auch einfach mit einem Alternativcode (&uuml etc.) einbinden..

Benutzeravatar
Flummi
Gelbbart-Yeti
Beiträge: 2338
Registriert: 17. Mai 2008, 11:22

Re: HTML-Kopf: Umlaute

Beitrag von Flummi » 1. Mär 2011, 19:34

wo is der unterschied zu variante davor?bewirken beide dasselbe ^^
meta = Clientseitig
header = Serverseitig
Php ist es scheißegal, was der Client macht... Er gehorcht nur stupide dem Webserver. ;)
Ich bin mir sicher, pft kriegt das eleganter hin, aber immerhin läufts jetzt.
Nein.. Ich würde ein cms nie so scripten - viel zu unsicher :)

Aus

Code: Alles auswählen

echo utf8_decode("Es war einmal und ist nichtmehr ein kugelrunder Teddybär.");
würde ich aber

Code: Alles auswählen

$text = "Es war einmal und ist nichtmehr ein kugelrunder Teddybär.";
$text = utf8_encode($text);
echo $text;
machen... Ist einfach übersichtlicher ;)
Nyrea hat geschrieben: 17. Jan 2020, 14:18#BigBugBob

Benu
Zauberer der Bergwiesen
Beiträge: 658
Registriert: 26. Okt 2008, 13:21

Re: HTML-Kopf: Umlaute

Beitrag von Benu » 1. Mär 2011, 19:35

Erstmal kommt es darauf an in welchem Charset die Datei gespeichert ist. Das sollte in deinem Fall latin1_swedish bzw iso-8859-1 sein. Auf dieses Charset sollte auch dann der HTML Header gestellt sein. Alternativ kann das auch in den Servereinstellungen gemacht werden.

Wenn du in Zukunft aber eh Sonderzeichen verwenden willst, dann nimm von Anfang an UTF-8. Aber dann musst du konsequent jedes Sonderzeichen (auch Umlaute) in UTF schreiben.

PS: Bei http-equiv wird beim Server angesetzt von daher eher serverseitig als clientseitig zuzuordnen.
http://fwrails.net
lokale Styes in Google Chrome
lokale Styles in Gologle folgen...
I'm beginning to feel like a Spam God

Benutzeravatar
Latzhosenträger
großer Laubbär
Beiträge: 3309
Registriert: 2. Apr 2008, 15:14

Re: HTML-Kopf: Umlaute

Beitrag von Latzhosenträger » 1. Mär 2011, 19:52

Okay, erm, ging ganz gut ohne Code. Notepad++ verwendet standardmäßig ANSI und nicht UTF.

Benutzeravatar
Latzhosenträger
großer Laubbär
Beiträge: 3309
Registriert: 2. Apr 2008, 15:14

Re: HTML-Kopf: Umlaute

Beitrag von Latzhosenträger » 1. Mär 2011, 20:08

Okay, anderes Thema.
Markup Validation Service hat geschrieben: Line 21, Column 10: ID "ABSTAND" already defined
<div id="abstand"> </div>

An "id" is a unique identifier. Each time this attribute is used in a document it must have a different value. If you are using this attribute as a hook for style sheets it may be more appropriate to use classes (which group elements) than id (which are used to identify exactly one element).
Ich habe mehrfach "<div id="abstand"> </div>" in meiner Indexdatei. Ganz einfach, weil ich genau den Abstand öfter mal brauche und auch nie einen speziellen ansprechen möchte. Macht es da überhaupt Sinn, für jeden einzelnen eine CSS Klasse zu definieren? Letztlich ist das doch viel mehr Sourcecode.

Benu
Zauberer der Bergwiesen
Beiträge: 658
Registriert: 26. Okt 2008, 13:21

Re: HTML-Kopf: Umlaute

Beitrag von Benu » 1. Mär 2011, 20:13

Joa jedenfalls sollte dir klar sein, dass UTF nicht die Lösung für dein Problem ist. Du wolltest die Zeichen ja nicht als Entitäten eingeben (&uuml; etc) sondern direkt. Und dafür musst du iso-8859-1 nehmen. Wenn das irgendwo als Charset auch angeben wurde müsste alles funktionieren. Sonst liegt es höchstwahrscheinlich an der Datei selber oder etwas stimmt nicht mit der Methode, mit der du die Daten holst.

Zu dem CSS Ding: Der Validator hat doch recht? ID ist unique. Du meinst wahrscheinlich das class Attribut. Ansonsten würde ich dir empfehlen, die CSS Klassen nach ihrer Semantik (Bedeutung) zu bennen. Wenn diese Divs keinen Abstand mehr haben sollten, musst du nicht nur das Layout sondern auch das Markup ändern und das ist einfach nur quark. Von daher aussagekräftige Klassennamen, helfen viel bei späteren Überarbeitungen ;)

PS:
Ich bin glaub etwas von deiner eigentlichen Frage abgewichen (weswegen du dir mein Hinweis trotzdem zu Herzen nehmen kannst ;) ): Du kannst einem Tag mehrere Klassennamen geben. Diese müssen per Leerzeichen getrennt werden. Quasi <span class="error fatal">Foo</span>. Darauf würden dann alle CSS Regeln von .fatal und .error gelten.
http://fwrails.net
lokale Styes in Google Chrome
lokale Styles in Gologle folgen...
I'm beginning to feel like a Spam God

CountZero
Kopolaspinne
Beiträge: 767
Registriert: 24. Okt 2007, 14:10

Re: HTML-Kopf: Umlaute

Beitrag von CountZero » 3. Mär 2011, 11:38

Benu hat geschrieben:Joa jedenfalls sollte dir klar sein, dass UTF nicht die Lösung für dein Problem ist. Du wolltest die Zeichen ja nicht als Entitäten eingeben (&uuml; etc) sondern direkt. Und dafür musst du iso-8859-1 nehmen. Wenn das irgendwo als Charset auch angeben wurde müsste alles funktionieren. Sonst liegt es höchstwahrscheinlich an der Datei selber oder etwas stimmt nicht mit der Methode, mit der du die Daten holst.
UTF-8 kann genauso mit Umlauten umgehen und ist idR die bessere Wahl (Da weiter verbreitet und größerer Zeichenumfang). Das Problem ist, wie du selber schon schriebst, das die Datei an sich auch entsprechend codiert sein muss. Ist dies der Fall muss auch nicht mehr hin- und her en/decoded werden.
Mit entsprechenden Editor oder Entwicklungsumgebung lässt sich das auch ganz leicht anpassen, wie Latzhosenträger schon selbst bemerkt hat.

Die CSS Sache ist ja bereits ganz gut erklärt, für reine CSS-Formatierung sind Klassen meist die bessere Wahl und sie lassen sich in den meisten Fällen genauso anwenden (schachteln etc.) wie IDs. - Du brauchst nicht für jeden Abstand eine eigene Klasse sondern kannst genau wie mit id eine einzige Definition verwenden. Wenn du dich einmal ein wenig mit DOM Manipulationen und JS auseinandersetzt wirst du auch schnell merken warum die Mehrfachvergabe von id nicht gut sein kann.

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 11 Gäste