Announcement

Collapse
No announcement yet.

Leidiges Thema csv od. txt einlesen und via document.write ausgeben mit Umlaute...

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Leidiges Thema csv od. txt einlesen und via document.write ausgeben mit Umlaute...

    Ich habe wieder mal ne sache die ich nach mehreren stunden googlen und ausprobieren nicht hinbekommen habe.... ich möchte einfach eine txt oder csv egal was auf meine web mit umlaute ausgeben leider klappt das nicht entweder ich habe quadrate bei Umlaute oder nach dem Umlauten wird das Wort abgeschnitten. Die Tipps in diversen foren wie charset umwandeln habe ich schon versucht utf-8 , ISO-8859-1 usw klappt auch nicht jetzt nach 1 million mal editieren sieht mein code so aus ... leider immer noch keine umlaute
    PHP Code:
    function onError()
    {
        
    alert("fehler");
    }

    function 
    getRequest()
    {
    var 
    xmlHttpObject false;

    // Überprüfen ob XMLHttpRequest-Klasse vorhanden und erzeugen von Objekte für IE7, Firefox, etc.
    if (typeof XMLHttpRequest != 'undefined'
    {
        
    xmlHttpObject = new XMLHttpRequest();
    }

    // Wenn im oberen Block noch kein Objekt erzeugt, dann versuche XMLHTTP-Objekt zu erzeugen
    // Notwendig für IE6 oder IE5
    if (!xmlHttpObject
    {
        try 
        {
            
    xmlHttpObject = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch(
    e
        {
            try 
            {
                
    xmlHttpObject = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch(
    e
            {
                
    xmlHttpObject null;
            }
        }
    }
    return 
    xmlHttpObject;
    }

    function  
    sendDataRequest() {
        var 
    request getRequest();
        

        if (
    null == request) {
            
    alert("Cancel");
            return;
        }

        
    request.open("GET""testdaten/test.txt"true);  //auf dem Server abgepeicherte txt datei 
        
    request.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=ISO-8859-1');
        
    request.onreadystatechange = function() {
            switch (
    request.readyState) {
                case 
    4:
                    if (
    request.status != 200) {
                        
    onError();
                    } else {
                        
    onSuccess(request.responseText);
                    }
                    break;

                default:
                    return 
    false;
                    break;
            }
        };
        
    request.send(null);
    }    
        
    function 
    onSuccess(text)
    {
        
    document.write(text);
        
    //alert(text);

    nunja jetzt seh zusätzlich noch ein problem beim FF aber gut das bekomm ich selbst noch raus... weiss jetzt nimmer was ich noch machen soll ...

    vielen Dank schonmal .. und lacht bitte mich net aus wegen der einfachheit ..hab ich das ganze erstmal runtergebrochen , bin nur anscheinend zu unwissend um selbst das rauszufinden...

  • #2
    Das Setzen von setRequestHeader('Content-Type', ...) bei einem GET ist Unsinn, da dieser Request Header den Typ des Rumpfes der Anfrage definiert, ein GET aber gar keinen Rumpf hat.
    Was die Umlaute angeht, so sollte der HTTP-Server, von dem aus die Datei angefordert wird, einen passenden Content-Type Response Header senden. Du musst also den Server so konfigurieren, dass
    Content-Type: text/plain; charset=ISO-8859-1
    als Response Header gesendet wird, wobei ISO-8859-1 nur ein Beispiel ist, da muss halt das Encoding stehen, mit dem die Datei kodiert ist.
    Warum man allerdings XMLHttpRequest benutzt, um eine Textdatei zu laden und diese dann per document.write auszugeben, erschliesst sich mir nicht, ein einfaches
    window.location.href = 'datei.text';
    reicht doch dafür.
    Aber eventuell benutzt du document.write nur zum Testen und willst den Text anderweitig einbauen.

    Comment

    Working...
    X