• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

äöü in php anzeigen lassen

Roma87

Neues Mitglied
Hallo zusammen,

bin mir eine Bewerbungshomepage am machen. Habe sie soweit fertig, hatte die scripte als html auf dem Server oben. Da ich aber einen login-bereich, gästebuch und kontaktformular programmiert habe, musste ich die Dateien in php ändern.

Seit der Änderung in php zeigt es mir keine äöü usw. Buchstaben an. Woran liegt das. Habe im Internet schon gelesen, dass es was mit der <head> zeile auf sich hat.

Hier ist meine:


<!DOCTYPE html
PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html40/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">


Will da jetzt nicht einfach dranrumfummeln, bevor dann nix mehr geht, dachte ich, ich frage mal bei euch nach. Vielleicht kann jemand helfen?

Danke
 
Ich vermute es liegt eher an dem was dein Server im Header zurück gibt - das hat nichts mit dem HTML <head> zu tun sondern liegt im HTTP Protokoll. Du kannst dir die Angaben z.B. im Firefox mit verschiedenen Addons ausgeben lassen. Dort müsste auch der Content-type mit einem Charset (Zeichensatz) genannt sein. Dieser muss dem Zeichensatz entsprechen mit dem Du deine Dateien erstellst und speicherst. Prüfe also zum Einen den Header, zum Anderen deinen Editor mit dem Du die Dateien bearbeitest.
 
Ich vermute es liegt eher an dem was dein Server im Header zurück gibt - das hat nichts mit dem HTML <head> zu tun sondern liegt im HTTP Protokoll. Du kannst dir die Angaben z.B. im Firefox mit verschiedenen Addons ausgeben lassen. Dort müsste auch der Content-type mit einem Charset (Zeichensatz) genannt sein. Dieser muss dem Zeichensatz entsprechen mit dem Du deine Dateien erstellst und speicherst. Prüfe also zum Einen den Header, zum Anderen deinen Editor mit dem Du die Dateien bearbeitest.

Hmmm, okay. Erstmal, ich benutze den Standard Windows Editor.

Wie ich jetzt das andere kontrolliere, da steh ich jetzt völlig auf dem schlauch. Ich kann nur dazu sagen, dass andere html Dateien, aus denen ich eine Php Datei gemacht habe, es immer funktionierte.
 
Im Zweifelsfall kann es auch sein dass der Server einen falschen Standardzeichensatz sendet. Deshalb haue ich in meine .htaccess immernoch dass mit rein:

Code:
AddDefaultCharset utf-8

Nebenbei mal gefragt:

Sind die Zeiten eigentlich vorbei in denen ein Browser die BOM eines UTF-8 Dokumentes immernoch als darstellbare Zeichen interpretiert? Bin da nicht mehr auf dem Stand, seitdem ich nach einigen unerfreulichen Erfahrungen dazu übergegangen bin immer ohne die BOM zu speichern.
 
newlord schrieb:
Im Zweifelsfall kann es auch sein dass der Server einen falschen Standardzeichensatz sendet.

Genau darauf wollten wir ebenfalls hinaus.

Die Frage zur BOM verstehe ich nicht so recht. Die BOM war in UTF-8 nie ein darstellbares Zeichen. In anderen Zeichensätzen interpretiert, ergibt sie aber darstellbare Zeichen, was völlig korrekt ist.
 
Die Frage zur BOM verstehe ich nicht so recht. Die BOM war in UTF-8 nie ein darstellbares Zeichen. In anderen Zeichensätzen interpretiert, ergibt sie aber darstellbare Zeichen, was völlig korrekt ist.

Wenn das so ist, dann ist's ja in Ordnung. Dann waren meine Erfahrungen damit wahrscheinlich dadurch bedingt, dass eben doch nicht alles auf UTF-8 geeicht war.
 
Allerdings hat die Verwendung eines BOM bei UTF-8 die Konsequenz, dass ohne Output-buffering der Header nicht mehr geändert werden kann. Das kann zur Fehlinterpretation führen und es kann durchaus sein, dass statt UTF-8 wieder ISO-Zeichensätze verwendet werden.
 
Ja, stimmt. Ich weiß gar nicht, wie das beim Einbinden von PHP-Includes ist. Sind BOMs in den inkludierten Dateien Ausgaben oder werden die stillschweigend ignoriert?

Ich denke da an Szenarien wie eine Index-Datei, die erst einmal 10 andere Library-Dateien inkludiert.

Na ja, wie auch immer: BOMs sind so oder so ein Quell ewiger Freude und sollten deshalb einfach gar nicht erst mit in den Dateien gespeichert werden.

Die sind glaube ich ohnehin ein Relikt aus „grauer“ Vorzeit. Ich kann mich nicht erinnern, jemals wissentlich welche gesetzt zu haben.
 
Wenn ich das jetzt richtig verstanden habe, möchte er Umlaute ausgeben. HTML kann jedoch ä,ö und ü nicht direkt umsetzen, sondern muss als Code angegeben werden. -> SELFHTML: HTML/XHTML / Referenz /HTML-ZeichenreferenzAlso wenn du z.B. "für" ausgeben möchtest, musst du im Quelltext
Code:
f [COLOR=#0000C0][FONT=Courier New]& # 2 5 2 ; [/FONT][/COLOR]r
schreiben. (ohne die Leerzeichen zwischen dem blauen Text!)
 
Das stimmt nicht. HTML kann Umlaute und andere Nicht-ASCII-Zeichen problemlos enthalten. Das ist eine Frage des eingesetzten Zeichensatzes.

Deutsche Umlaute werden dabei übrigens von allen in diesen Breiten gängigen Zeichensätzen unterstützt (Windows-1252, ISO-8859-1, Unicode/UTF-[noparse]8[/noparse]). Das Problem liegt immer im fehlenden Verständnis von Kodierungen.

Siehe dazu mein Link in #4 und die darin verlinkten Seiten.
 
Das stimmt nicht. HTML kann Umlaute und andere Nicht-ASCII-Zeichen problemlos enthalten. Das ist eine Frage des eingesetzten Zeichensatzes.

Deutsche Umlaute werden dabei übrigens von allen in diesen Breiten gängigen Zeichensätzen unterstützt (Windows-1252, ISO-8859-1, Unicode/UTF-[noparse]8[/noparse]). Das Problem liegt immer im fehlenden Verständnis von Kodierungen.

Siehe dazu mein Link in #4 und die darin verlinkten Seiten.

Habe es hinbekommen. Habe im charset windows-1252 eingegeben und seitdem funzt es. Aber wie der Name "windows" schon sagt, läuft es dann nur unter Windows? Bei anderen Systemen kommt dann wieder der fehler?
 
Windows-1252 ist nur der Name. Der Zeichensatz ist nicht von dem Betriebssystem abhängig.

Mir ist übrigens klar, dass ich niemanden zwingen kann, die verlinkten Seiten zu lesen, aber ich sehe es auch nicht ein, die Inhalte hier für jeden noch mal individuell zusammenzufassen.
 
Ich hab mir deine verlinkte Seite ja durchgelesen. Hat ja mit deiner Hilfe auch funktioniert. Die Frage war wegen dem Windows, ob es woanders Fehler geben könnte.

Aber ich muss echt sagen, das Forum ist klasse, selten sowas gesehen. 1a Hilfe und vorallendingen schnelle antworten.
 
hallo zusammen
hier ist das was du brauchst
SELFHTML: HTML/XHTML / Referenz /HTML-Zeichenreferenz

[h=2]Deutsche Umlaute und scharfes S[/h] Im Hinblick auf das Internet und die internationale Verwendung sollten Sie deutsche Umlaute in Ihren HTML-Dateien durch die dafür vorgesehenen HTML-Zeichenfolgen ersetzen. Das gilt für den gesamten Inhalt einer HTML-Datei. Ersetzen Sie das Zeichen ä durch die Zeichenfolge &auml;
Ersetzen Sie das Zeichen Ä durch die Zeichenfolge &Auml;
Ersetzen Sie das Zeichen ö durch die Zeichenfolge &ouml;
Ersetzen Sie das Zeichen Ö durch die Zeichenfolge &Ouml;
Ersetzen Sie das Zeichen ü durch die Zeichenfolge &uuml;
Ersetzen Sie das Zeichen Ü durch die Zeichenfolge &Uuml;
Ersetzen Sie das Zeichen ß durch die Zeichenfolge &szlig;


Beispiel






 
Zuletzt bearbeitet:
Das ist nicht mehr zeitgemäß (und war es eigentlich auch nie).

Wer Umlaute als &auml; usw. schreibt, hat – mit Verlaub – einfach nicht verstanden, wie Zeichensätze funktionieren.

Es ist Unsinn.
 
Zurück
Oben