Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: кодировка в ajax

Сообщения:  [1-10]   [11-16] 

 
 автор: coloboc66   (02.12.2007 в 21:51)   письмо автору
 
   для: parczynski   (01.12.2007 в 23:42)
 

Слава Богу!

   
 
 автор: parczynski   (01.12.2007 в 23:42)   письмо автору
 
   для: parczynski   (01.12.2007 в 23:37)
 

в яваскрипт исправил

http_request.overrideMimeType('text/html; charset=windows-1251');

в text.php теперь

<?php 
    header
("Content-Type: text/html; charset=windows-1251");
    echo 
"<option value=\"1\">праfивет";
?>

все работает

   
 
 автор: parczynski   (01.12.2007 в 23:37)   письмо автору
 
   для: coloboc66   (01.12.2007 в 21:56)
 

и кстати если в опере поставить кодировку UTF-8, то эта надпись все равно отображается как ромбики, и остальной текст тогда тоже

   
 
 автор: parczynski   (01.12.2007 в 23:28)   письмо автору
 
   для: coloboc66   (01.12.2007 в 21:56)
 

1 А зачем вообще нужны подобные форумы, если бы все были бы знакомы с технологиями WEB на ТЫ???
2 В тех материалах об аякс которыми пользовался я не было ничего про подобные проблемы
3 Вообще русский текст передается нормально, проблемы появляются когда я вставляю его в innerHTML.

   
 
 автор: coloboc66   (01.12.2007 в 21:56)   письмо автору
 
   для: parczynski   (01.12.2007 в 20:02)
 

В серверном скрипте нужно запрещать кэширование. А если у вас вместо текста выводятся "ромбики", значит, не совпадают кодировки на сервере и в браузере. Потому и твердят вам сотню раз: "Если вы не чуствуете себя с аяксом на Ты, работайте в UTF-8".
Мля - вот эта тема о проблеме кодировок в аяксе на форуме уже раз 100 проходила, так нет же: каждый, кто за аякс не ухватится, начинает её опять поднимать. Поучите теорию сначала, а потом беритесь.

   
 
 автор: parczynski   (01.12.2007 в 20:02)   письмо автору
 
   для: bronenos   (01.12.2007 в 19:23)
 

mb_convert_encoding тоже нет :(
пробовал

<?php echo convert_cyr_string("<option value=\"1\">Привет","w","k"?>

но результат тот же - ромбики. может все таки в javascipt что-то не так. привожу скрипт:

function makeRequest(url) {
    var http_request = false;
    if (window.XMLHttpRequest) {
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
            http_request.overrideMimeType('text/html');
        }
    } else if (window.ActiveXObject) { // IE
        try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }
    if (!http_request) {
        alert('Невозможно создать экземпляр класса XMLHTTP');
        return false;
    }
    http_request.onreadystatechange = function() { alertContents(http_request); };
    http_request.open('GET',"text.php?"+Math.round(1000), true);
    http_request.send(null);
}

function alertContents(http_request) {
    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
            document.getElementById('citys').innerHTML=http_request.responseText;
        } else {
            alert('С запросом возникла проблема.');
        }
    }
}

текст text.php приведен выше
И еще если использовать не innerHTML а innerTEXT, то отображаются русские буквы, но это естественно не подходит

   
 
 автор: bronenos   (01.12.2007 в 19:23)   письмо автору
 
   для: parczynski   (01.12.2007 в 18:54)
 

добавьте в запрос в гет параметр
"&"+Math.round(Math.rand() * 1000)

если нет iconv попробуйте mb_convert_encoding, параметры ровно в обратной последовательности

   
 
 автор: parczynski   (01.12.2007 в 18:54)   письмо автору
 
   для: parczynski   (30.11.2007 в 19:38)
 

И еще такая беда (не совсем в тему, но новую из-за этого создавать не хочется)
у меня по всей видимости кэшуруются ответы на запросы аякс. то есть если я делаю запрос к файлу ajax.php, затем изменяю файл ajax.php и повторяю запрос, то выводится результат предыдущего запроса. приходится оперу перезагружать :(

   
 
 автор: parczynski   (01.12.2007 в 18:49)   письмо автору
 
   для: coloboc66   (01.12.2007 в 13:01)
 

encodeURIComponent() возвращает то же самое, функции iconv() в php у меня вообще нет, и выводятся у меня тоже ромбики со знаками вопроса, просто в посте вместо них из код.

   
 
 автор: coloboc66   (01.12.2007 в 13:01)   письмо автору
 
   для: Port_Artur1   (01.12.2007 в 10:57)
 

В нём.

   

Сообщения:  [1-10]   [11-16] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования