Welches Charset und welchen Doctype verwendet man?

Hallo,

ich habe ein Webside wo ich HTML, PHP und MySQL nutze…
Seit Wochen habe ich Probleme mit den Umlauten und jeder sagt mir etwas anderes, deshalb richte ich nun meine Frage an euch?
Welchen Kopf würdet ihr verwenden, bzw. was ist wichtig um Probleme mit Umlauten zu vermeiden? Anbei mal zwei Varianten, mußte die Tags ein wenig verändern, nicht wundern:

  1. Beispiel:
    DOCTYPE HTML PUBLIC „-//W3C//DTD HTML 4.01 Transitional//EN“
    http://www.w3.org/TR/html4/loose.dtd
    HTML
    HEAD
    TITLE&gt:stuck_out_tongue_winking_eye:rofilProfil

Hallo,

Welchen Kopf würdet ihr verwenden, bzw. was ist wichtig um
Probleme mit Umlauten zu vermeiden?

  1. Du entscheidest dich für eine Kodierung. Sagen wir UTF-8

  2. Du machst alles in dieser Kodierung - die Datenbank, das HTML, deine Arbeitsumgebung, und sendest die Kodierung auch im HTTP-Header mit, der sollte dann so aussehen:

    Content-Type: text/html; charset=UTF-8

  3. Als Bonus kannst du dann auch den charset als meta-Tag im header des HTMLs angeben, damit es auch noch korrekt angezeigt wird, wenn man sich die Seite herunterlädt und sich dann wieder anschaut (und den HTTP-Header nicht mehr hat).

Aber vor allem erst mal musst du dich über Zeichenkodierungen schlau lesen, und herausfinden, wie deine Daten bisher gespeichert sind (vermutlich Latin-1).

Ich habe dazu mal was geschrieben:
http://perlgeek.de/de/artikel/charsets-unicode

Das geht zwar dann über Perl (und nicht PHP), aber die ersten Kapitel sind unabhängig von der Programmiersprache.

Grüße,
Moritz

Moin,

Welchen Kopf würdet ihr verwenden, bzw. was ist wichtig um
Probleme mit Umlauten zu vermeiden?

Wichtig ist nur, dass die Seite im selben Charset vom Server ausgeliefert wird, wie das, in dem sie geschrieben ist. Und wenn Du noch Daten aus einer Datenbank hast, dann müssen diese natürlich auch im selben Charset vorliegen.

Das ist wie mit Sprachen. Wenn Du einen englischen Text hast, jemand Dir aber sagt, das sei französisch, dann wirst Du damit nicht klarkommen.

Mit dem Doctype hat die Darstellung von Umlauten nichts zu tun. Der Doctype gibt an, welchen (X)HTML-Dialekt Du benutzt. Er sorgt außerdem dafür, ob die Browser in den (Almost) Standards Mode oder den Quirks Mode geschaltet werden. Das ist für die Darstellung (CSS) wichtig. Nur, wenn alle Browser im Standards Mode arbeiten (also sich an die W3C-Standards halten), kann die Darstellung ähnlich oder gleich sein.

Schönes Wochenende,
-Efchen

Danke für eure Hilfe, ich hab jetzt alles einheitlich gemacht und nun läuft es!!!
LG Thomas