Christoph Schnauß: deutsche Umlaute in Frames, Codierung

hallo Forum :-)

Im Dezember hatte ich schon einmal nachgefragt, und da sich das Problem (für mich) trotz einiger Antworten nicht erledigt hat, muß ich die Frage wiederholen.

Ich rufe ein Frameset auf mit:

function openframe() {
document.open("text/html");
document.write('<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">');
document.write('<meta http-equiv="Content-Language" content="de">');
document.write('<title>Beispiel</title>');
document.write('</head>');
document.write('<frameset framespacing="0" frameborder="0" cols="120px,*">');
document.write('<frame name="links" scrolling="no" src="beispiel1.htm">');
document.write('<frame name="main" src="beispiel2.htm">');
document.write('</frameset>');
document.write('</body>');
document.write('</html>');
document.close();
}

Das funktioniert wunderbar, wahrscheinlich sind auch gar nicht alle diese "document.write"-Angaben zwingend nötig.
Jetzt soll aber eine dieser "beispielx.htm"-Seiten noch innerhalb ihres frames auf ein einfaches Textdokument zugreifen  -  und wenn dann _dieses_ Dokument (nennen wir es mal "beispiel.txt") über einen link in das Frameset geladen wird, sind die deutschen Umlaute futsch, jedenfalls im IE :-(. Schlimmer noch: dort, wo in "beispiel.txt" Umlaute stehen, schnippelt der IE auch noch ringsrum ein paar Buchstaben ab und verstümmelt den ganzen Text. Netscape macht solchen Unsinn nicht, dafür sind die Frames wie immer mit zusätzlichen Rändern versehen. Sobald "beispiel.txt" geladen ist, sagt mir der IE auch, daß er plötzlich die Codierung nicht weiß und nennt es "links-nach-rechts-Dokument"...
Die Frage ist also, wie ich dem IE beibringen kann, die richtige Codierung für so ein frameset auszuwählen, wenn er _keine_ HTML-Dokumente, sondern einfachen Text anzeigen soll (in HTML-Seiten macht er die Umlaute richtig). Es hilft auch nix, in meine "beispiel.txt" mal oben die META-Tags reinzuschreiben.

zweites Problem (ist schon mal hier im Forum behandelt worden, ich finde es aber im Archiv nicht wieder):
Wenn ich in einer Text-Datei HTML-Code stehen habe und diese Text-Datei in den IE lade, zeigt er sie mir _offline_ brav als Text an. Hole ich mir dieselbe Text-Datei aber _online_ in den Browser (egal, ob über einen lokalen Server oder übers Internet), stellt er sie als HTML dar, egal, welche Extension ich der Datei mitgegeben habe. Wie gewöhne ich dem IE diesen Unfug ab ? (Netscape verhält sich kollegial und macht, was gewünscht ist)
Die einzige, aber außerordentlich unbefriedigende Lösung, die ich bisher gefunden habe, besteht darin, in die allererste Zeile der Text-Datei so viele Leerzeichen zu setzen, daß es einen Zeilenwechsel gibt, womit der IE offenbar irgendwie "ausgetrickst" wird. Diese Lösung hat zwar einen gewissen Charme von "Bauernschläue", ist aber nicht sonderlich elegant.

ach, btw: wenn ich "IE" sage, meine ich IE 5.0 oder höher. Frühere Versionen stehen mir nicht mehr zur Verfügung, hab ich weggeschmissen.

schönste Grüße und besten Dank im voraus für alle ernsthaften Antworten

Christoph S.

  1. »»  document.write('<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">');

    Ich verwende grundsätzlich den charset ISO-8859-1 und dies schreibe ich in jedes Header einer Page. Dies läuft sowohl
    unter IE5, als auch unter Neti. Dies entspricht in Neti dem Zeichensatz western und unter IE5 der Codierung Westeurop (ISO)

    Gruß, Dirk

    1. Ich verwende grundsätzlich den charset ISO-8859-1 und dies schreibe ich in jedes Header einer Page.

      richtig, ich schrieb ja, daß das Problem bei HTML-Dokumenten NICHT auftaucht. Die stellt der IE richtig dar. Aber mir geht es darum, daß in Frames Text-Dateien nicht mit den Umlauten dargestellt werden .... _ohne_ Frame macht es der IE auch mit Text-Dateien korrekt. Und Text-Dateinen haben nunmal leider keinen Header ....

      Christoph S.

  2. Hallo Christoph!

    zweites Problem (ist schon mal hier im Forum behandelt worden, ich finde es aber im Archiv nicht wieder):
    Wenn ich in einer Text-Datei HTML-Code stehen habe und diese Text-Datei in den IE lade, zeigt er sie mir _offline_ brav als Text an. Hole ich mir dieselbe Text-Datei aber _online_ in den Browser (egal, ob über einen lokalen Server oder übers Internet), stellt er sie als HTML dar, egal, welche Extension ich der Datei mitgegeben habe. Wie gewöhne ich dem IE diesen Unfug ab ? (Netscape verhält sich kollegial und macht, was gewünscht ist)
    Die einzige, aber außerordentlich unbefriedigende Lösung, die ich bisher gefunden habe, besteht darin, in die allererste Zeile der Text-Datei so viele Leerzeichen zu setzen, daß es einen Zeilenwechsel gibt, womit der IE offenbar irgendwie "ausgetrickst" wird. Diese Lösung hat zwar einen gewissen Charme von "Bauernschläue", ist aber nicht sonderlich elegant.

    Es gibt auch die nicht elegantere Lösungen, als erste Zeile ein Kommentar von mindestens 80 Zeichen zu schreiben:

    <!-- Kommentar für den dummen IE5 mit mindestens 80 Zeichen...... -->

    Dann wird die Datei wieder als Text dargestellt. Einen vorteil hat das, man kann im Kommentar etwas Sinnvolles zur Datei schreiben!

    Bis danndann
    PAF (patrickausfranfkurt)