Ajax problem mit umlauten.
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
aufrufen
ausgabe
bringen
code
datei
entsprechenden header
funktion
header
idee
konflikt
problem
projekt
richtige kodierung
sache
setzen
stelle
text
type
umlaut
url
-
Hallo LC,
Ich habe ein kleines Problem mit meinen Ajax script und umlauten.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <body> <title></title> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> </head> <body> ääää ä ää ä ä ä </body> </html>
function seite(url) { XMLHTTP.open("GET", url, true); XMLHTTP.onreadystatechange = ausgabe; XMLHTTP.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=ISO-8859-1;"); XMLHTTP.send("a=b"); }
Die umlaute können leider nicht dargestellt werden. Hat jemand eine idee?
LG -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
ä = ä
Ä = Ä
ö = ö
Ö = Ö
ü = ü
Ü = Ü
ß = ß
€ = €
& = &
< = <
> = >
“ ="
© = ©
So wirst du sie machen können -
frederik-g schrieb:
ä = ä
Ä = Ä
ö = ö
Ö = Ö
ü = ü
Ü = Ü
ß = ß
? = €
& = &
< = <
> = >
? ="
© = ©
So wirst du sie machen können
Das wäre in meinen fall zwar möglich aber nicht die lösung die ich mir wünsche... da ich mit einer ziemlich großen DB arbeite und nicht die ganzen abfragen umschreiben möchte.
Geht das noch anders?
LG -
Ein anderer Weg mhh..
Ich weiß nicht was genau du jetzt willst was willst du denn genauer machen? -
frederik-g schrieb:
Ein anderer Weg mhh..
Ich weiß nicht was genau du jetzt willst was willst du denn genauer machen?
Was ich will?
Ich will mit Ajax eine bestimmte seite in einer Div darstellen, also den Quellcode auslesen und in die Div einfügen. Das klappt auch soweit. Nur umlaute werden nicht erkannt. Da liegt das Problem... Ich denke ich muss die Ajax abfrage etwas umschreiben weiß aber nicht was wo fehlt.
LG -
Wie wäre es mit UTF-8, an Stelle von ISO-8859-1?
Oder in der aufgerufenen PHP-Datei (wenn es sich um eine solche handelt) einen entsprechenden Header setzen:
header ('Content-Type: text/html; charset=ISO-8859-1');
-
fabo schrieb:
Wie wäre es mit UTF-8, an Stelle von ISO-8859-1?
Oder in der aufgerufenen PHP-Datei (wenn es sich um eine solche handelt) einen entsprechenden Header setzen:
header ('Content-Type: text/html; charset=ISO-8859-1');
Ja Danke,
die idee ist mir auch angekommen und funktioniert :) -
Welche von den beiden?
-
fabo schrieb:
Na logischerweise die mit dem Header, der von PHP gesetzt wurde. Den Browser im HTML-Code auf ein Zeichenformat hin zu weisen bringt gar nichts, wenn man das ganze per Ajax ausliest.
Welche von den beiden?
-
Recht hast du. Teilweise... ;)
Aber ich hätte vielleicht erst fragen sollen, ob die Ausgabe in der aufzurufenden Seite auch vermurkst ist :) -
Ich habe ein ähnliches Problem mit Google Maps:
Es klappt alles mit der Einbindung und Markersetzung und Beschriftung, das einzige was nicht klappt, ist der Rollover Text des Markers. Die Umlaute werden nicht angezeigt.
Ich habe euch hier eine vereinfachte Darstellung meines Projekts, in welchem wie gesagt, alles mit den Umlauten klappt nur der Rollover text nicht. Bei diesem Text handelt es sich um zB Sdtraßennamen aus einer Datenbank.
Kennt ihr mögliche lösungen? Ich habe das mit "header" versucht und heir scheint es auch zu klappen, aber gibt es Lösungen ohne die header funktion? Habe htmlentities etc schon ausprobiert funktioniert aber nicht.
Viele Grüße
donK
<?php //header ('Content-Type: text/html; charset=ISO-8859-1'); echo '<?xml version="1.0" encoding="ISO-8859-1"?>' ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de"> <head> <?php $text = "hähäö";?> <!-- Andere Angaben wie Seitentitel bleiben wie gehabt --> <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"> </script> <script type="text/javascript"> function initialize() { var latlng = new google.maps.LatLng(51.836380804203266, 8.025662899017334); var myOptions = { zoom: 16, center: latlng, mapTypeId: google.maps.MapTypeId.ROADMAP }; var map = new google.maps.Map(document.getElementById("karte"), myOptions); var marker = new google.maps.Marker({ position: latlng, map: map, title:<?php echo '"Hööööö'.$text.'"';?> }); } </script> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Die erste Karte <?php echo $text?></title> <style type="text/css"> #karte { width: 400px; height: 400px;} </style> </head> <body onload="initialize()"> <?php echo $text."hahah";?> <div id="karte"> <h2> <?php echo $text;?></h2></div> </body> </html>
-
gibt es Lösungen ohne die header funktion
Warum? Meinst du, die richtige Kodierung wird aus Spaß gesetzt?
Entweder wird die entsprechende Kodierung direkt vom Webserver vorgegeben, oder du erzwingst sie. Anders gehts nicht.
Was soll eigentlich
<?xml version="1.0" encoding="ISO-8859-1"?>
in deinem Code?
Beitrag zuletzt geändert: 2.8.2011 1:53:52 von fabo -
Warum? Meinst du, die richtige Kodierung wird aus Spaß gesetzt?
Nein, aber es hat mich nur sehr gewundert das die Sache mit htmlentities nicht funktioniert. Die header funktion kann man ja auch für andere Sachen verwenden, ZB umleitungen, dateispeichern oä und in solch einem Fall würde das einen Konflikt bringen, da man die header Funktion doch nur einmal pro Seite aufrufen sollte oder?
Verwende ich zB htmlentities, dann steht an dem Marker die HTML kodierung des Umlautes, das finde ich seltsam, dass dies nicht erkannt wird.
<?xml version="1.0" encoding="ISO-8859-1"?>
ist dafür da, falls man die Website mit xml einlesen will und man definiert damit die xml version. Muss man nicht hinmachen, hatte ich nur als ichs gelernt hab immer machen müssen,deshalb ists noch da. -
<?xml version="1.0" encoding="ISO-8859-1"?>
Das gehört ausschließlich in einen XML-Sheet, nicht in eine (x)HTML-Seite.
und in solch einem Fall würde das einen Konflikt bringen, da man die header Funktion doch nur einmal pro Seite aufrufen sollte oder?
Nein. -
Hi,
leider muss ich nochmal nachhacken, in dem Projekt in welchem ich arbeite funktioniert aus unerklärlichen Gründen der Trick mit der header funktion nicht...
die umlaute beim mausrollover werden einfch nicht richtig angezeit...
woran kann das liegen? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage