X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

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

Открыть тему
Тема закрыта
> Пробема в AJAX скрипте - русская кодировка - в UTF8 приходят данные
Inform-buro
Inform-buro
Topic Starter сообщение 28.1.2008, 9:13; Ответить: Inform-buro
Сообщение #1


Частый гость
**

Группа: User
Сообщений: 54
Регистрация: 28.9.2007
Поблагодарили: 0 раз
Репутация:   0  


Как решить данную проблему? Я хочу получать данные в кодировке windows-1251, вот код скрипта:

Код
     function ajaxRead(){

       receiveData=0;

       var xmlObj = null;



       if(window.XMLHttpRequest){

         xmlObj = new XMLHttpRequest();

       }else if(window.ActiveXObject){

         xmlObj = new ActiveXObject("Microsoft.XMLHTTP");

       } else {

       return;

       }

       xmlObj.onreadystatechange = function(){

         if(xmlObj.readyState == 4){

         var status=xmlObj.status;

         document.getElementById('xxx').innerHTML = unescape(xmlObj.responseText);

         }

       }

       xmlObj.open ('GET', 'index.php'+'?q='+Math.random(), true);

       xmlObj.send ('');

     }


данные index.php даёт в win1251, а на странице они появляются в utf8, т.к. получены AJAX-ом. А как бы их получать в win1251
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
wildlion
wildlion
сообщение 28.1.2008, 9:41; Ответить: wildlion
Сообщение #2


Бывалый
****

Группа: User
Сообщений: 430
Регистрация: 2.10.2006
Поблагодарили: 0 раз
Репутация:   0  


Код
function decode_to_utf8($int=0)

{

        $t = '';



        if ( $int < 0 )

        {

            return chr(0);

        }

        else if ( $int <= 0x007f )

        {

            $t .= chr($int);

        }

        else if ( $int <= 0x07ff )

        {

            $t .= chr(0xc0 | ($int >> 6));

            $t .= chr(0x80 | ($int & 0x003f));

        }

        else if ( $int <= 0xffff )

        {

            $t .= chr(0xe0 | ($int  >> 12));

            $t .= chr(0x80 | (($int >> 6) & 0x003f));

            $t .= chr(0x80 | ($int  & 0x003f));

        }

        else if ( $int <= 0x10ffff )

        {

            $t .= chr(0xf0 | ($int  >> 18));

            $t .= chr(0x80 | (($int >> 12) & 0x3f));

            $t .= chr(0x80 | (($int >> 6) & 0x3f));

            $t .= chr(0x80 | ($int  &  0x3f));

        }

        else

        {

            return chr(0);

        }

        

        return $t;

}


Код
function convert_unicode($t, $to = 'windows-1251')

{

        $to = strtolower($to);



        if ($to == 'utf-8') {



            $t = preg_replace( '#%u([0-9A-F]{1,4})#ie', "decode_to_utf8(hexdec('1'))", utf8_encode($t) );

            $t = urldecode ($t);



        } else {



            $t = preg_replace( '#%u([0-9A-F]{1,4})#ie', "'&#' . hexdec('1') . ';'", $t );

            $t = urldecode ($t);

            $t = @html_entity_decode($t, ENT_NOQUOTES, $to);



        }



        return $t;

}

это на php...
попробуй с этим "поиграться", должно чтонить получиться...
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
druzhkov
druzhkov
сообщение 1.2.2008, 16:51; Ответить: druzhkov
Сообщение #3


Новичок
*

Группа: User
Сообщений: 18
Регистрация: 5.12.2007
Поблагодарили: 0 раз
Репутация:   0  


лично я в том скрипте, которые отдает аякс-данные, первой строчкой прописываю:

header('Content-type: text/html; charset=windows-1251');

может, это как-то поможет...
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
tank_
tank_
сообщение 3.2.2008, 3:26; Ответить: tank_
Сообщение #4


Новичок
*

Группа: Viewer
Сообщений: 12
Регистрация: 26.1.2007
Поблагодарили: 0 раз
Репутация:   0  


попробуй функцию iconv в php
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Веб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP)
18 qpPeW 3422 12.12.2017, 13:32
автор: qpPeW
Открытая тема (нет новых ответов) Данные 30млн пользователей Ai.Type утекли в паблики
1 anchous 569 8.12.2017, 17:35
автор: Astralis
Открытая тема (нет новых ответов) Программа чтобы вытащить данные владельцев сайта
5 vincento 1023 15.10.2017, 21:30
автор: deather
Открытая тема (нет новых ответов) На российском сайте распродаются личные данные из миллионов аккаунтов Instagram
6 MissContent 1475 17.9.2017, 14:50
автор: vikosy
Открытая тема (нет новых ответов) Отсортировать данные таблицы
по дням/часам и тп
3 tube 548 1.7.2017, 0:38
автор: Shandanakar


 



RSS Текстовая версия Сейчас: 15.12.2017, 18:22
Дизайн