Перейти к публикации

Помогите, модуль выводит иероглифы(((


Рекомендованные сообщения

Доброй ночи, вот скачал модуль "Вывод торрент раздач на ajax" для ДЛЕ, всё установил по инструкции, но русские буквы выводятся иероглифами. Если кто знает как исправить, подскажите пожалуйста, вот код модуля

<?php

@session_start();

@ob_start();

@ob_implicit_flush(0);

@error_reporting(E_ALL ^E_WARNING ^E_NOTICE);

@ini_set('display_errors',false);

@ini_set('html_errors',false);

@ini_set('error_reporting',E_ALL ^E_WARNING ^E_NOTICE);

define('DATALIFEENGINE',true);

$member_id = false;

$is_logged = false;

define('ROOT_DIR',dirname(__FILE__).'/../..');

define('ENGINE_DIR',ROOT_DIR.'/engine');

@include (ENGINE_DIR.'/data/config.php');

require_once ENGINE_DIR.'/classes/mysql.php';

require_once ENGINE_DIR.'/data/dbconfig.php';

require_once ENGINE_DIR.'/modules/functions.php';

function UTF8toCP1251($str)

{

static $table = array("\xD0\x81"=>"\xA8",

"\xD1\x91"=>"\xB8",

"\xD0\x8E"=>"\xA1",

"\xD1\x9E"=>"\xA2",

"\xD0\x84"=>"\xAA",

"\xD0\x87"=>"\xAF",

"\xD0\x86"=>"\xB2",

"\xD1\x96"=>"\xB3",

"\xD1\x94"=>"\xBA",

"\xD1\x97"=>"\xBF",

"\xD3\x90"=>"\x8C",

"\xD3\x96"=>"\x8D",

"\xD2\xAA"=>"\x8E",

"\xD3\xB2"=>"\x8F",

"\xD3\x91"=>"\x9C",

"\xD3\x97"=>"\x9D",

"\xD2\xAB"=>"\x9E",

"\xD3\xB3"=>"\x9F",

);

return preg_replace('#([\xD0-\xD1])([\x80-\xBF])#se','isset($table["$0"]) ? $table["$0"] :

					   chr(ord("$2")+("$1" == "\xD0" ? 0x30 : 0x70))

					  ',$str

);

}

function search_torrent($query)

{

$query = str_replace(" ","+",$query);

$querys = "POST http://megashara.com/search/?text=$query&x=0&y=0 HTTP/1.0\r\n".

"Referer: http \r\n".

"User-Agent: Mozilla/4.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20036725 Firefox/2.0.0.1\r\n".

"Host: rutor.org\r\n".

"Accept: text/html;q=0.1\r\n".

"Accept-Language: ru,en;q=0.9\r\n".

"Accept-Charset: windows-1251;q=0.6, *;q=0.1\r\n".

"Proxy-Connection: close\r\n".

"Content-Type: application/x-www-form-urlencoded\r\n".

"Content-Length: "."1"."\r\n\r\n".

$posts."\r\n\r\n";

$socket = fsockopen('megashara.com',80,$errno,$errstr,120);

fwrite($socket,$querys);

while (!feof($socket)) {

$s.=fgets($socket);

}

fclose($socket);

$result = $s;

$result = UTF8toCP1251($result);

$find2 = "";

$p1 = strpos($result,"<table width=\"100%\"><table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" width=\"100%\" style=\"border-collapse: collapse;\">");

$p2 = strpos($result,"<div id=\"prevnext\"></div>");

$result = substr($result,$p1,$p2 -$p1);

preg_match_all('#<td class="flat-result" style="width:50px;">(.*)</td>

<td class="flat-result" style="width:310px; text-align:left;"><a href="(.*)">(.*)</a></td>

<td class="flat-result" style="width:20px;"><a href="(.*)"><img src="http://static.megashara.com/templates/fastheme/mini_magnet.png" alt="Magnet-ссылка"></a></td>

<td class="flat-result" style="width:70px;">(.*)</td>

(.*)

</tr>#Uis',$result,$find);

$count = intval(count($find['1']));

$i = -1;

$find2 = "";

while ($i <$count -1) {

$i++;

$find['9'][$i] = str_replace("http://s.rutor.org/i/m.png","/magnet.png",$find['9'][$i]);

$find['9'][$i] = str_replace("magnet:","http://torrentsbum.org/engine/magnet.php?url=magnet:",$find['9'][$i]);

$is = $i +1;

$find2 .= "<tr valign=\"top\">

<td>{$is}</td>

<td>{$find['1'][$i]}</td>

<td>{$find['3'][$i]}</td>

<td><a href=\"{$find['4'][$i]}\"><img src=\"/mini_magnet.png\" alt=\"Magnet-ссылка\"></a></td>

<td>{$find['5'][$i]}</td>

{$find['6'][$i]}

{$find['7'][$i]}

</tr>";

}

if (!$find2 or $find2 == "") {

$finds = "<center>Не удалось отобразить раздачу!</center><br />";

}else {

$finds = "<b>Найденные торрент раздачи на MEGASHARA.COM</b>

<table width=\"100%\" cellspacing=\"0\" cellpadding=\"10\"><tr valign=\"top\">

<td style=\"background: #aaaaaa; font-size: 8pt; font-family: Verdana; color: #ffffff;\">№</td>

<td style=\"background: #aaaaaa; font-size: 8pt; font-family: Verdana; color: #ffffff;\">Раздел</td>

<td style=\"background: #aaaaaa; font-size: 8pt; font-family: Verdana; color: #ffffff;\">Заголовок</td>

<td style=\"background: #aaaaaa; font-size: 8pt; font-family: Verdana; color: #ffffff;\">Магнет</td>

<td style=\"background: #aaaaaa; font-size: 8pt; font-family: Verdana; color: #ffffff;\">Размер</td>

<td style=\"background: #aaaaaa; font-size: 8pt; font-family: Verdana; color: #ffffff;\">Сиды</td>

<td style=\"background: #aaaaaa; font-size: 8pt; font-family: Verdana; color: #ffffff;\">Пиры</td>


</tr>{$find2}

</table>

<center><span><span><a href=\"http://rutr.net\" target=\"_blank\">Хостинг изображений</a></span></center>";

}

return ($finds);

}

function search_torrent1($query)

{

$query = str_replace(" ","+",$query);

$querys = "POST http://rutor.org/search/0/0/100/0/$query HTTP/1.0\r\n".

"Referer: http \r\n".

"User-Agent: Mozilla/4.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20036725 Firefox/2.0.0.1\r\n".

"Host: rutor.org\r\n".

"Accept: text/html;q=0.1\r\n".

"Accept-Language: ru,en;q=0.9\r\n".

"Accept-Charset: windows-1251;q=0.6, *;q=0.1\r\n".

"Proxy-Connection: close\r\n".

"Content-Type: application/x-www-form-urlencoded\r\n".

"Content-Length: "."1"."\r\n\r\n".

$posts."\r\n\r\n";

$socket = fsockopen('rutor.org',80,$errno,$errstr,120);

fwrite($socket,$querys);

while (!feof($socket)) {

$s.=fgets($socket);

}

fclose($socket);

$result = $s;

$result = UTF8toCP1251($result);

$find2 = "";

$p1 = strpos($result,"<table width=\"100%\"><tr class=\"backgr\">");

$p2 = strpos($result,"</table><b>Страницы");

$result = substr($result,$p1,$p2 -$p1);

preg_match_all('#<a class="downgif" href="/download/(.[0-9]*)"><img src="http://s.rutor.org/i/d.gif" alt="D" /></a>(.*)<a href="/torrent/(.*)">(.*)</a>(.*)<td align="right">([0-9]*..?[0-9]+.?) (.[A-Z]*)</td><td align="center"><span class="green"><img src="http://s.rutor.org/t/arrowup.gif" alt="S" /> (.[0-9]*)</span> <img src="http://s.rutor.org/t/arrowdown.gif" alt="L" /><span class="red"> (.[0-9]*)</span>#Uis',$result,$find);

$count = intval(count($find['1']));

$i = -1;

$find2 = "";

while ($i <$count -1) {

$i++;

$find['2'][$i] = str_replace("http://s.rutor.org/i/m.png","/mini_magnet.png",$find['2'][$i]);

$find['2'][$i] = str_replace("magnet:","magnet:",$find['2'][$i]);

$is = $i +1;

$find2 .= "<tr valign=\"top\">

<td>{$is}</td>

<td>{$find['4'][$i]}</td>

<td>{$find['2'][$i]}</td>

<td>{$find['6'][$i]} {$find['7'][$i]}</td>

<td>{$find['8'][$i]}</td>

<td>{$find['9'][$i]}</td>

</tr>";

}

if (!$find2 or $find2 == "") {

$finds = "<center>Не удалось отобразить раздачу!</center><br />";

}else {

$finds = "<b>Найденные торрент раздачи на RUTOR.ORG</b>

<table width=\"100%\" cellspacing=\"0\" cellpadding=\"10\"><tr valign=\"top\">

<td style=\"background: #aaaaaa; font-size: 8pt; font-family: Verdana; color: #ffffff;\">№</td>

<td style=\"background: #aaaaaa; font-size: 8pt; font-family: Verdana; color: #ffffff;\">Название</td>

<td style=\"background: #aaaaaa; font-size: 8pt; font-family: Verdana; color: #ffffff;\">Магнет</td>

<td style=\"background: #aaaaaa; font-size: 8pt; font-family: Verdana; color: #ffffff;\">Размер</td>

<td style=\"background: #aaaaaa; font-size: 8pt; font-family: Verdana; color: #ffffff;\">Сиды</td>

<td style=\"background: #aaaaaa; font-size: 8pt; font-family: Verdana; color: #ffffff;\">Пиры</td>

</tr>{$find2}

</table>

<center><span><span><a href=\"http://rutr.net\" target=\"_blank\">Хостинг изображений</a></span></center><br><br>";

}

return ($finds);

}

$title = trim(strip_tags($_POST['title']));

@header("Content-type: text/html; charset=".$config['charset']);

echo search_torrent1($title);

echo search_torrent($title);;?>

Ссылка на сообщение
Поделиться на других сайтах

Дайте ссылку на страницу, где у Вас выводит иероглифы :)

Ссылка на сообщение
Поделиться на других сайтах

Вот тестовый сайт http://kinobam.ru/5-neuderzhimye-the-expendables-2010.html там вместо русских выводит иероглифы, и не знаю как это исправить...

Ссылка на сообщение
Поделиться на других сайтах

У вас сайт в utf-8 а модуль в кирилице. Я делаю так - загоняю все файлы модуля в дримвивер, нажимаем ctrl+j и там выбираем кодировку utf-8. Сохраняем и... вуаля. возможно, есть способ проще, но я делаю так, и все работает.

Ссылка на сообщение
Поделиться на других сайтах

из модуля нужно убирать строчку


$result = UTF8toCP1251($result);
[/CODE]

она переводит вам в windows-1251, а у вас сайт в UTF-8 кодировке

Ссылка на сообщение
Поделиться на других сайтах

Я убрал, всё равно иероглифы... Ещё хотел бы спросить, вот когда модуль выводит результаты поиска, он выводит их все, а как сделать чтобы он выводил не больше 5, знаю только что нужно редактировать

$count = intval(count($find['1']));

$i = -1;

$find2 = "";

while ($i <$count -1) {

$i++;

А что именно сделать не знаю, если вам не сложно помогите пожалуйста)

Ссылка на сообщение
Поделиться на других сайтах

я так понимаю, тот код, что вы привели, это не единственный файл, который вы заливаете на сервер? наверняка есть еще пара-тройка. попробуйте поменять кодировку у всех файлов. Насчет кол-ва результатов, сорри, не подскажу.

Ссылка на сообщение
Поделиться на других сайтах

Мой косяк, просто удалил только одно функцию, а вторую забыл, там парсятся торрент с двух трекеров.... Но вот не получается ограничить вывод раздач до 5 штук.... Может кто знает?

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...