Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум программистов _ Web 2.0, AJAX, Ruby, RSS технологии _ Всё та же проблема с кодировкой, НО ...

Автор: realmadrid 10:12:2007, 17:00

Здравствуйте!
Проблема стара как мир, но от этого легче не становится. Итак: я отправляю данные со страницы следующим образом:

Код
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, но это не помогает. Проблема в том, что броузеры себя ведут совершенно по-разному. Не улавливаю логику.
Заранее спасибо.

Автор: DolWeb 21:03:2008, 13:38

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

Автор: sax_ol 21:03:2008, 13:56

DolWeb
Топику семь лет в обед.

Цитата(DolWeb @ 21:03:2008 - 16:38) *
IE - не соответствует стандартам

А кто соответствует?

Русская версия Invision Power Board (http://www.nulled.ws)
© Invision Power Services (http://www.nulled.ws)