Umlaute bei Ajax-Requests

jacquipre

Grünschnabel
Hallo.

Ich habe ein Problem mit meiner Anwendung und dem Character Encoding. Ich hab zwar schon viel gegooglet, aber alle bisherigen Versuche, das Problem zu beheben, sind gescheitert.

Wenn ich die Seite komplett neu lade, dann werden alle Umlaute korrekt angezeigt. Lade ich nur einen Teil der Seite, d.h. nur ein Div mittels Ajax-Funktionen, dann entstehen aus den Umlauten merkwürdige Zeichen. Wie muss das Encoding eingestellt sein?

In meinem META-Tag steht
Code:
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=iso-8859-1" />

Meine Ajax-Funktionen sehen so aus:
Code:
function ajax_create_xmlHttp_object() {

	var xmlHttp = null;
	
	// Mozilla, Opera, Safari sowie Internet Explorer 7
	if (typeof XMLHttpRequest != 'undefined') 
	{
    	xmlHttp = new XMLHttpRequest();
	}
	if (!xmlHttp) 
	{
    	// Internet Explorer 6 und ?lter
    	try 
		{
	        xmlHttp  = new ActiveXObject("Msxml2.XMLHTTP");
	    } 
		catch(e) 
		{
        	try 
			{
	            xmlHttp  = new ActiveXObject("Microsoft.XMLHTTP");
        	} 
			catch(e) 
			{
	            xmlHttp  = null;
        	}
    	}
	}
    return xmlHttp
}

function ajax_getURLContent( ajaxRequest, targetDivId , xpos, ypos, bAsync,evalResult)
{
	var xmlHttp = ajax_create_xmlHttp_object() ;
	
	if( xmlHttp ) 
	{
		// request url
		var url = ajaxRequest;

	    xmlHttp.open('GET', url, bAsync);
		// setup a callback method for the server's answer
	    xmlHttp.onreadystatechange = function () 
		{
                    if (xmlHttp.readyState == 4) 
                    {
                            onDownloadDone( xmlHttp.responseText , targetDivId, xpos, ypos, evalResult);
                    }
		};
    	
		xmlHttp.send(null);
	}
}

Ajax überträgt doch generell in UTF-8, oder? Muss ich da noch was umwandeln? Wenn ja, wie?


-- jacquipre
 
Es wird das übertragen was der Server sendet. Wenn du ISO 8859-1 verwendest, sollte der Server ebenfalls ISO 8859-1 verwenden.
 
Aber warum werden dann beim Neuladen der Seite die Umlaute richtig dargestellt und beim Laden des Divs nicht? Das ist mir noch nicht so ganz klar...
 
Weil die Daten aus der SQL Datenbank kommen (nehme ich an) und diese schon codiert wurden. Du solltest wenn schon: UTF-8 im Dokument und auch im SQL-Server verwenden oder die Codierung die du gerne möchtest.
 
Zurück