Всё та же проблема с кодировкой, НО ...

  • Автор темы realmadrid
  • Дата начала
R

realmadrid

#1
Здравствуйте!
Проблема стара как мир, но от этого легче не становится. Итак: я отправляю данные со страницы следующим образом:
Код:
function sendRequest() {
var oForm = document.forms[0];
var sBody = getRequestBody(oForm);
//создание объекта XmlHttp
var oXmlHttp = zXmlHttp.createRequest();
oXmlHttp.open("post", oForm.action, true);
oXmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

oXmlHttp.onreadystatechange = function () {
if (oXmlHttp.readyState == 4) {
if (oXmlHttp.status == 200) {
saveResult(oXmlHttp.responseText);
} else {
saveResult("Ошибка: " + oXmlHttp.statusText);
}
}			
};
oXmlHttp.send(sBody);		
}

function getRequestBody(oForm) {
var aParams = new Array();

for (var i=0; i < oForm.elements.length; i++) {
var sParam = encodeURIComponent(oForm.elements[i].name);
sParam += "=";
sParam += encodeURIComponent(oForm.elements[i].value);
aParams.push(sParam);
}

return aParams.join("&");		
}

function saveResult(sMessage) {
var divStatus = document.getElementById("divLoading");
divStatus.innerHTML = sMessage;
}
т.е. получаю данные от формы, кодирую их в utf-8 с помощью encodeURIComponent и отправляю php-скрипту. Тот в ответ посылает ответ (всегда на русском языке) с помощью переменной $fehler. Вот тут-то самое интересное: Opera и Mozilla выводят этот ответ нормально, а вот IE показывает мне знаки вопроса. Если перед отправкой я пытаюсь перекодировать мой $fehler с помощью iconv('WINDOWS-1251','UTF-8',$fehler ) ситуация меняется на противоположную. Знаю, что вопрос примитивен, но: ЧТО ДЕЛАТЬ? Пробовал вообще завязать с WINDOWS-1251 и у всех страниц указывать UTF-8, но это не помогает. Проблема в том, что броузеры себя ведут совершенно по-разному. Не улавливаю логику.
Заранее спасибо.
 
D

DolWeb

#2
IE - не соответствует стандартам
Вроде - это ответ