Форум программистов CODEBY.NET Хостинг в Беларуси — Active Technologies

Разработка бизнес сайтов

Нужны клиенты? Тогда сюда быстрее...
X   Сообщение сайта
(Сообщение закроется через 2 секунды)

Здравствуйте, гость ( Вход | Регистрация )




> Всё та же проблема с кодировкой, НО ...
realmadrid
Вставить ник
сообщение 10:12:2007, 17:00
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 22
Регистрация: 22:06:2007
Пользователь №: 11 515



Репутация: - -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, но это не помогает. Проблема в том, что броузеры себя ведут совершенно по-разному. Не улавливаю логику.
Заранее спасибо.
Подняться вверх 
 
Сообщение #1
 
Новая тема 
Ответов (1 - 2)
DolWeb
Вставить ник
сообщение 21:03:2008, 13:38
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 34
Регистрация: 20:03:2008
Из: Жуковский
Пользователь №: 16 035



Репутация: - 1 +


IE - не соответствует стандартам
Вроде - это ответ
Подняться вверх 
 
Сообщение #2
sax_ol
Вставить ник
сообщение 21:03:2008, 13:56
Цитата Ответить 


==============
*****

Группа: Модеры
Сообщений: 1 905
Регистрация: 11:01:2007
Пользователь №: 8 750



Репутация: - 28 +


DolWeb
Топику семь лет в обед.
Цитата(DolWeb @ 21:03:2008 - 16:38) *
IE - не соответствует стандартам

А кто соответствует?
Подняться вверх 
 
Сообщение #3


Быстрый ответ  Ответить  Новая тема 

> Быстрый ответ
Полужирный
Курсив
Подчеркнутый
Вставить изображение
Смайлики
Цитата
Код
 
 Отправлять уведомления об ответах на e-mail |  Включить смайлики |  Добавить подпись
   

 

RSS Текстовая версия Сейчас: 20:07:2008 - 22:32
с нами можно связаться по:
телефону: +375-(29)-632-60-67
e-mail:info@codeby.net