Vreemde tekens na XMLHttpRequest (AJAX)
Doormiddel van:
objXml.open('GET', bestand, false); haal ik het bestand binnen.
Helemaal bovenaan het document waarin ik het bestand wil weergeven heb ik staan: <META http-equiv="Content-Type" content="text/html; charset=utf-8">
Heeft er iemand een idee?
Gewijzigd op 01/01/1970 01:00:00 door Nicos
Je moet zorgen dat de tekens weergegeven worden adhv speciaal daarvoor gebruikte codes. é is bijvoorbeeld é.
Maar in die htm file die ik ophaal door een request staat het gewoon goed. Er staat netjes een é. het gaat met het ophalen fout.
function openBestand(bestand)
{
bestand = bestand + "?rand=" + Math.random();
var objXml = maakXMLObj();
objXml.open('GET', bestand, false);
objXml.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
objXml.send(null);
return objXml.responseText;
}
EDIT: probeer de javascriptfunctie unescape() is. Weet niet of dit werkt, maar kijk maar is wat het doet.
Gewijzigd op 01/01/1970 01:00:00 door Niels
Nee, helpt niets...
Niels schreef op 03.06.2009 22:27:
EDIT: probeer de javascriptfunctie unescape() is. Weet niet of dit werkt, maar kijk maar is wat het doet.
alert(unescape('%28%29')); levert ().
Wat de oplossing voor dit probleem is weet ik zo ook niet, bestand in utf-8 ofzo opslaan misschien.
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
function htmlspecialchars(p_string) {
p_string = p_string.replace(/&/g, '&');
p_string = p_string.replace(/</g, '<');
p_string = p_string.replace(/>/g, '>');
p_string = p_string.replace(/"/g, '"');
// p_string = p_string.replace(/'/g, ''');
return p_string;
};
p_string = p_string.replace(/&/g, '&');
p_string = p_string.replace(/</g, '<');
p_string = p_string.replace(/>/g, '>');
p_string = p_string.replace(/"/g, '"');
// p_string = p_string.replace(/'/g, ''');
return p_string;
};
Het maakt gewoon een functie aan waarin bepaalde tekens worden omgevormd tot specialchars. Is misschien het proberen waard.
dit probleem bestaat al enorm lang, dus ik zou denken dat er wel een functie voor is al. jij niet dan...?