Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Кодировка сайта при добовлении в базу скриптом. 
:(
    Опции темы
anrs
Дата 17.12.2008, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 17.12.2008

Репутация: нет
Всего: нет



Приветствую вас . Ребята , проблемка есть , сломал уже голову , нечего не получается ... У меня есть скриптик . Указываешь в нём сайтик , скриптик заходит на него и все ссылки , слова и т.д сдирает с сайта и добовляет в базу ...
С некоторых сайтов сдирает нормально текст и добовляет русский текст в базу . А снекоторых ( русско язычных сайтов ) сдирает русский текст и добовляет каракули в базу ... Знакомый мне подсказал , что надо найти функцию у скриптика , которая отвечает за поиск текста и добовление его в базу ... она находиться в файлике  spiderfuncs.php
Ребят не подскажите пожалуйста как настроить этот скриптик ... очень надо Зарание спасибо...
(сюда код не поместился - поэтому файлик прикрепил )


Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  spiderfuncs.php 23,09 Kb
PM MAIL   Вверх
bars80080
Дата 17.12.2008, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 9
Всего: 315



ну, попробуй вот здесь :

Код

        do{
            $status = socket_get_status($fp);
            $data .= fgets($fp, 8192);
        } while (!feof($fp) && !$status['timed_out']) ;

        fclose($fp);
        if(!empty($char[0])) { $data = iconv($char[0], $char[1], $data); }

57-62 строчки, вставить строку с iconv

а в заголовок функции добавить: 

Код

function getFileContents($url) {
    global $user_agent, $char;

ну и на тех сайтах, где кракозябры устанавливать переменную $char перед запуском функций:

Код

$char = array('utf-8', 'cp-1251');


конечно, на нормальных переменной $char быть не должно
PM MAIL WWW   Вверх
anrs
Дата 17.12.2008, 18:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 17.12.2008

Репутация: нет
Всего: нет



м... всё сделал кроме вот этого  : 
------------
ну и на тех сайтах, где кракозябры устанавливать переменную $char перед запуском функций:
код PHP
1:
        $char = array('utf-8', 'cp-1251');
------------

Я не понял этот код : $char = array('utf-8', 'cp-1251'); , устанавливать на те сайты по которым паук лазиет , или перед началом функции , перед началом функции я ставил , но вот всёравно не работает :(((
PM MAIL   Вверх
bars80080
Дата 17.12.2008, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 9
Всего: 315



Цитата(anrs @  17.12.2008,  17:30 Найти цитируемый пост)
перед началом функции , перед началом функции я ставил , но вот всёравно не работает 

вставлять перед тем, как ты вызываешь первую функцию из этого набора, короче в начале страницы поставь и проследи, чтобы она нигде не перезаписалась

попробуй ещё так:
$char = array('utf-8', 'cp1251');

Добавлено через 1 минуту и 27 секунд
я догадываюсь у тебя всё работает в кодировке 1251? а то мож, наоборот надо?
PM MAIL WWW   Вверх
anrs
Дата 17.12.2008, 18:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 17.12.2008

Репутация: нет
Всего: нет



Cам сайт у меня в кодировке windows-1251 ... могёшь мне в аську написать ? я всё подробно распишу , чтоб легче было понять :( а то некто помочь не может ... 377228592 ... 
PM MAIL   Вверх
bars80080
Дата 17.12.2008, 18:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 9
Всего: 315



аськи нет и не будет

так попробовал $char = array('utf-8', 'cp1251'); ?
PM MAIL WWW   Вверх
anrs
Дата 17.12.2008, 18:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 17.12.2008

Репутация: нет
Всего: нет



М... ща порпобую

Добавлено через 3 минуты и 15 секунд
Пробовал ... добавил так :

Код

<?php 
$char = array('utf-8', 'cp1251');

function getFileContents($url) {


Получается так , сайтик к примеру a1tv.ru нормально добовляет ... а вот сайтик altworld.ru добовляет крикозяблики....

Это сообщение отредактировал(а) anrs - 17.12.2008, 18:59
PM MAIL   Вверх
bars80080
Дата 17.12.2008, 21:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 9
Всего: 315



мда, надо глубже копать. да вроде там нигде перевода нету.


слушай, если напрямую поставить

не        if(!empty($char[0])) { $data = iconv($char[0], $char[1], $data); }
а          $data = iconv('utf-8', 'cp1251', $data);

поменяется что-нибудь?
PM MAIL WWW   Вверх
anrs
Дата 17.12.2008, 21:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 17.12.2008

Репутация: нет
Всего: нет



нефига не поменяло :(((
Мож я чёт не так обьяснил и не тот файлик вообще выложил ... вот я движ прикрепил ...  spider.php это и есть тот скриптик паучка ... мож в реале я туплю и вообще не то загоняю ..

Присоединённый файл ( Кол-во скачиваний: 14 )
Присоединённый файл  test2.rar 147,31 Kb
PM MAIL   Вверх
bars80080
Дата 17.12.2008, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 9
Всего: 315



не смог скачать, инфицирован он у тебя (может здесь подхватил), да и не досуг, завтра может быть

какой версии пхп? потому, как iconv() стала поддерживаться где-то с 4.4.7 или даже позже
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0508 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.