Umlaute werden als ? dargestellt

Katzehuhn

Erfahrenes Mitglied
Ich lese mittels Ajax Html-Code aus Textdatein aus und stelle ihn dann per mouseover in einer beweglichen div dar. Leider werden die deutschen Umlaute ä ü ö als unbekannte Zeichen dargestellt.
Hier die Funktion Code:
Code:
        var url= 'http://localhost/text/'+txt_id+'.txt';
        req.open("POST", url, true);
        req.onreadystatechange = function(){
            switch(req.readyState) {
                case 4:
                if(req.status!=200) {
                    document.getElementById("pat").innerHTML="Nichts gefunden!";
                }else{
                    zw_sp[txt_id] = design_box(req.responseText,css_klasse,ueberschrift);
                    document.getElementById("pat").innerHTML=zw_sp[txt_id];
                
                }
                break;

                default:
                return false;
                break;
            }
        };
        
        req.setRequestHeader("Content-Type","text/html; charset=iso-8859-1");
        req.send(null);
Weis jemand was ich falsch mache oder geht das nicht anders?
Danke
 
Du müsstest in dem eingelesenen File und im Stream die Codierung mit angeben (z.B. UTF-9 oder so-8859-1). Da sollte theoretisch funktionieren, habs aber auch noch nie hinbekommen..

;-)

Einzige sinnvolle Lösung ist, in der eingelesenen Datei alle umlaute etc mit den html-Zeichen dafür zu ersetzen...

ü = ü
ä = ä

etc.... gibts für jedes Zeichen... siehe selfhtml...
 
zach, gibts da sonst keine Möglichkeit? sind ziemlich viele Datein die ich umändern müsste. Sonst vl wer ne idee?
 
Ich kenne natürlich den Rest deiner HTML Datei nicht. Aber vielleicht genügt es ja,
im Head-Bereich einen MetaTag einzufügen, der den Zeichensatz enthält.

<head>

<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">

</head>
 
Also das mit dem html-header hab ich auch schon probiert, hat irgendwie nie was gebracht...

Den Ajax.Updater im Prototype hab ich mal umbauen können, so dass es funktioniert hat, das war aber ne alte Version des Frameworks, jetzt gibts die geänderten Stellen im Code nicht mehr...
 
Hab das jetzt mal notdürftig mittels PHP geändert, sobald die Datei gespeichert wird werden alle Umlaute ersetzt
PHP:
function &escape_umlaute(&$text){
$umlaute = array("ü", "ö", "ä","Ü","Ö","Ä","ß");
$umlaute_escape = array("&uuml;", "&ouml;", "&auml;","&Uuml;","&Ouml;","&Auml;","&szlig;");
$text = &str_replace($umlaute, $umlaute_escape, $text);
return $text;
}
Falls trotzdem wem noch was einfällt imer her damit;)
 

Neue Beiträge

Zurück