Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Всё та же проблема с кодировкой, НО ...
Форум программистов > Интернет и сети > Web 2.0, AJAX, Ruby, RSS технологии
realmadrid
Здравствуйте!
Проблема стара как мир, но от этого легче не становится. Итак: я отправляю данные со страницы следующим образом:
Код
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
IE - не соответствует стандартам
Вроде - это ответ
sax_ol
DolWeb
Топику семь лет в обед.
Цитата(DolWeb @ 21:03:2008 - 16:38) *
IE - не соответствует стандартам

А кто соответствует?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Русская версия IP.Board © 2001-2008 IPS, Inc.