| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| n.a. Registriert seit: Aug 2005 Ort: Berlin
Beiträge: 146
| AJAX: Problem mit Sonderzeichen aus der Datei auf dem Server
Hallo allerseits! Man hat mal wieder ein kleines Problem mit Sonderzeichen... Folgende Funktionalität möchte ich umsetzen: Beim Auswählen einer Select-Option wird eine Anfrage an den Server geschickt, ein PHP-Skript ausgeführt und anschließend das Ergebnis in die Seite eingefügt. Ein simples AJAX-Beispiel. Hier ist mein Code: HTML HTML-Code: <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>JavaScript</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="stylesheet" type="text/css" href="laender.css" /> <script type="text/javascript" src="laender.js"></script> </head> <body> <form name="f" method="GET" action=""> <select name="bundesland" size="1" onclick="sndReq()"> <option>Baden-Württemberg</option> <option>Bayern</option> <option>Berlin</option> <option>Brandenburg</option> <option>Bremen</option> <option>Hamburg</option> <option>Hessen</option> <option>Mecklenburg - Vorpommern</option> <option>Niedersachsen</option> <option>Nordrhein-Westfalen</option> <option>Rheinland-Pfalz</option> <option>Saarland</option> <option>Sachsen</option> <option>Sachsen-Anhalt</option> <option>Schleswig-Holstein</option> <option>Thüringen</option> </select> </form> äöüß-HTML <div id="hs"><div> </body> </html> HTML-Code: var resObject;
if(navigator.appName.search("Microsoft") > -1) {
resObject = new ActiveXObject("MSXML2.XMLHTTP");
} else {
resObject = new XMLHttpRequest();
}
function sndReq() {
for (i =1; i <= 16; i++) {
if(this.document.f.bundesland.options[i - 1].selected) {
resObject.open('get', 'laender.php?wo=' + i, true);
resObject.onreadystatechange = handleResponse;
resObject.send(null);
break;
}
}
}
function handleResponse() {
if(resObject.readyState == 4) {
document.getElementById("hs").innerHTML = "äöüß-JS <br />" + resObject.responseText;
}
} PHP-Code: Kann mir jemand sagen, woran das liegt und was man dagegen tun kann? Danke |
| | |
| | #2 (permalink) |
| · Registriert seit: Oct 2003 Ort: ··
Beiträge: 722
|
nimm mal für die Ausgabe(php): http://de.php.net/htmlentities Geändert von pilzebub (30-03-2009 um 12:33 Uhr) Grund: verlesen |
| | |
| | #3 (permalink) | |
| n.a. Registriert seit: Aug 2005 Ort: Berlin
Beiträge: 146
| Zitat:
Warum tritt das Problem überhaupt auf? | |
| | |
| | #4 (permalink) |
| · Registriert seit: Oct 2003 Ort: ··
Beiträge: 722
|
Umlaute, Sonderzeichen sind mir irgendwie immer ein grauen ![]() (auch in Verwendung mit utf-8)... Ich check das selbst noch nicht so richtig: http://de.wikipedia.org/wiki/Umlaut#Unicode |
| | |
| | #5 (permalink) |
| mod_rewrite Registriert seit: Feb 2003 Ort: München
Beiträge: 15.621
|
Das ist eigentlich nicht kompliziert, wenn alle Files, die im Spiel sind, UTF-8-kodiert sind. Also wirklich also solches abgespeichert sind und nicht nur im Head/Prolog oder sonstwo UTF-8 als Charset angegeben haben. Und - htmlEntities() führt in einer UTF-8-Umgebung zu garnix Gutem, pilzebub... @automatix: für die Verwendung anstelle eines solchen switch/case-Wahnsinns wurden übrigens eigentlich mal Arrays erfunden...
__________________ RTFM Wie man Fragen richtig stellt. Achim Bindannmalweg Money makes the world go round, fear makes it turn much faster. (New Model Army) Geändert von sonar (30-03-2009 um 13:55 Uhr) |
| | |
| | #7 (permalink) | ||
| n.a. Registriert seit: Aug 2005 Ort: Berlin
Beiträge: 146
| Zitat:
Zitat:
@all Danke für Eure Lösungsvorschläge. Und nichtsdestotrotz: Warum gibt's das Problem eigentlich, warum werden Zeichen falsch übertragen/dargestellt? Geändert von automatix (30-03-2009 um 19:58 Uhr) | ||
| | |
| | #8 (permalink) |
| Zero to Hero Registriert seit: Apr 2007
Beiträge: 871
|
Da muss nur mal der header deines htmls als iso kodiert ankommen, schon interpretiert der browser das ganz anders. genauso ein schmarn wenn du eine iso kodierte datenbank hast ... und die auf einmal utf8 können soll... "pain in the a...." :-)
__________________ Ein Tag an dem du nicht gelacht hast ist ein verschwendeter Tag. Never Stop! Mike |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |