JavaScript: Fehler bei Umlauten beim laden von HTML in eine Seite

  • #1
S

Scarface_666

Bekanntes Mitglied
Themenersteller
Dabei seit
21.12.2004
Beiträge
764
Reaktionspunkte
0
Hallo,

ich habe eine Homepage erstellt und wollte jetzt die Inhalte beim Click auf das Menü mittels JavaScript in den Inhalts-div laden. Funktioniert soweit auch. Allerdings wird oft bei Umlauten, also ä, ö, ... dieses nicht richtig dargestellt bzw. auch Teile des Textes danach abgeschnitten.

Hier noch das Script:
Code:
	var xmlHttp

	function LadeInhalt(htmlDatei)
	{
		document.getElementById(Inhalt).innerHTML = ;
		xmlHttp = GetXmlHttpObject()
		if (xmlHttp == null)
		{
			alert (Your browser does not support AJAX!);
			return;
		} 
		var url = htmlDatei;
		xmlHttp.onreadystatechange = stateChanged;
		xmlHttp.open (GET, url, true);
		xmlHttp.send (null);
	} 

	function stateChanged() 
	{ 
		if (xmlHttp.readyState == 4)
		{ 
			document.getElementById(Inhalt).innerHTML += xmlHttp.responseText;
		}
	}

	function GetXmlHttpObject()
	{
		var xmlHttp=null;
		try
		{
			// Firefox, Opera 8.0+, Safari
			xmlHttp=new XMLHttpRequest();
		}
		catch (e)
		{
			// Internet Explorer
			try
			{
				xmlHttp = new ActiveXObject(Msxml2.XMLHTTP);
			}
			catch (e)
			{
				xmlHttp = new ActiveXObject(Microsoft.XMLHTTP);
			}
		}
		return xmlHttp;
	}


Habt ihr eine Idee, woran das liegen könnte?

Gruß
Christian
 
  • #2
Hängt davon ab, welches Zeichensatzencoding (charset!) die geholten Inhalte haben und welches deine eigene Seite!
 
  • #3
Hi,

sollte eigentlich alles gleich sein. Ist ja alles von mir erstellt, aber wie finde ich das denn raus?

Gruß
Christian
 
  • #4
Falls die Datei, die per AJAX eingelesen wird, eine *.php sein sollte, solltest du utf8_encode verwenden.

Code:
<?php
echo utf8_encode(Der anzuzeigende Text äöüÄÖÜ);
?>
 
  • #5
Ist kein PHP. Ganz normale HTML-Daten.

Gruß
Christian
 
  • #6
Wenn es nicht zu viel zu ändern ist, mach halt aus der *.html eine *.php
Den ganzen HTML-Output schreibst du dann in eine Variable und die gibst du mittels echo utf8_encode($variable) wieder aus ;)

z.B.
Code:
<?php
$variable =->
<table width=100% align=center>
 <tr>
  <td align=center>Hallo Text äöüÄÖÜ</td>
 </tr>
</table>
';

echo utf8_encode($variable);
?>

Das kannste ja mal als Testdatei speichern und per AJAX aufrufen, dann wissen wir schonmal ob der Weg der richtige ist ;)
 
Thema:

JavaScript: Fehler bei Umlauten beim laden von HTML in eine Seite

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.839
Beiträge
707.962
Mitglieder
51.492
Neuestes Mitglied
Janus36
Oben