1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

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

Тема в разделе "Web - программирование", создана пользователем realmadrid, 10 дек 2007.

  1. realmadrid

    realmadrid Гость

    Репутация:
    0
    Здравствуйте!
    Проблема стара как мир, но от этого легче не становится. Итак: я отправляю данные со страницы следующим образом:
    Код:
    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, но это не помогает. Проблема в том, что броузеры себя ведут совершенно по-разному. Не улавливаю логику.
    Заранее спасибо.
     
  2. DolWeb

    DolWeb Гость

    Репутация:
    0
    IE - не соответствует стандартам
    Вроде - это ответ
     
Загрузка...

Поделиться этой страницей