 17.03.2010 в 05:51 [Отредактировано: 17.03.2010 в 06:13]
Есть функция, забирающая с сервера текст. Текст забирается, но отображается не в указываемой кодировке. Помогите, пожалуйста, разобраться.
Вот функция на JS
Код: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25function getXML(url, eid) {
var agent = null;
var method = 'GET';
try{agent=new XMLHttpRequest();}catch(e){try{agent=new ActiveXObject('Msxml2.XMLHTTP.3.0');}catch(e){try{agent=new ActiveXObject('Msxml2.XMLHTTP');}catch(e){try{agent=new ActiveXObject('Microsoft.XMLHTTP');}catch(e){alert('AJAX MESSAGE: initialization error')}}}}
agent.open(method, url, true);
agent.setRequestHeader('Connection', 'close');
agent.setRequestHeader('charset', 'UTF-8');
agent.setRequestHeader('charset', 'Windows-1251');
// agent.overrideMimeType('text/plain; charset=windows-1251')
agent.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
agent.setRequestHeader('If-Modified-Since', 'Sat, 1 Jan ***:00:00 GMT');
agent.onreadystatechange = function() {
if(agent.readyState==4) {
if(agent.status==200) {
// alert(agent.responseText);
document.getElementById(eid).innerHTML = agent.responseText;
} else {
alert('AJAX MESSAGE: '+agent.status+' '+agent.statusText)
}
}
}
agent.send('');
};
Текст, который функция забирает с сервера это обычный текстовый файл, без XTML заголовков, в кодировке windows-1251.
Использование конструкции agent.overrideMimeType('text/plain; charset=windows-1251') - решает проблему только в Mozille. Браузер IE вообще её не поддерживает.
Подскажите, пожалуйста, как преобразовать получаемый через HTTPRequest текст из KOI-8 в Windows-1251
|