Автопостинг rss в Blogger

Статус
В этой теме нельзя размещать новые ответы.

gls

Комбат
Регистрация
11 Янв 2007
Сообщения
588
Реакции
309
Наткнулся в сети на пару скриптов для автопостинга в Blogger через email, проверил вроде работают оба, но вот проблема - посты отображаются крякозяками:
�фган�ка� наркоинду�три� – угроза Ро��ии и ин�трумент геополитиче�кого вли�ни�
может кто подскажет как исправить? Выкладываю оба скрипта.
Скрипт 1:
PHP:
<?php
$blogger_mail = "СПЕЦИАЛЬНЫЙ_АДРЕС_ЭЛЕКТРОННОЙ_ПОЧТЫ"; 
$rssfeed = array("АДРЕС_RSS_ЛЕНТЫ_ЭТО_ИСТОЧНИК_КОНТЕНТА");
foreach($rssfeed as $rssfeed_item)
{
  $rss = simplexml_load_file($rssfeed_item);
  foreach($rss->channel->item as $items)
   {  
      $summary = $items->title;
      $body = $items->description;
      $From = 'admin';
      $Date = gmdate ("M d Y H:i:s", time()); 
      mail($blogger_mail, $summary, $body,
      "From: $From
      Content-Type: text/html; charset=\"UTF-8\"
      Content-Transfer-Encoding: 8bit
      MIME-Version: 1.0
      Date: $Date
      Reply-To: $From
      X-Priority: 3
      X-Mailer: splogmaster to blogger poster");
   }
}
?>
и скрипт 2:
PHP:
<?php
//Your Blog’s Keyword:
//$keyword = 'keyword';
//How many articles do you want to grab each time?
$num = 5;
//Get the RSS Feed - In this instance, we’re using a google blogsearch feed based on our chosen keyword
$feed = simplexml_load_file('АДРЕС_RSS_ЛЕНТЫ_ЭТО_ИСТОЧНИК_КОНТЕНТА');
//Loop through our keywords
foreach ($feed->channel->item as $item) {
if($i < $num){
//Have a bit of a rest so we’re not posting too fast to our blogger blog
sleep(10);
$title = $item->title;
$title = str_replace('<b>', '', $title);
$subject = str_replace('</b>', '', $title);
$link = $item->link;
$description = $item->description;
$description = str_replace('<b>', '', $description);
$body = str_replace('</b>', '', $description);
//put our secret blogger email address here:
$to = 'СПЕЦИАЛЬНЫЙ_АДРЕС_ЭЛЕКТРОННОЙ_ПОЧТЫ';
//ignore this line - the script just needs something in the 'From' field.
$headers = 'From: istochnik@mail.com';
//Send the email / How’d we go?
if(mail($to, $subject, $body, $headers)) {
echo $subject. ' - sent<br>';
}
else
{
echo $subject. ' - NOT sent<br>';
}
}
//add one to our counter
$i++;
}
?>
 
gls - выложи одно из таких писем с ящика (файлом eml) - интерисует в какой оно кодировке.

Скорее всего поможет отправление в нужной кодировке перекодировав iconv
вот так например
PHP:
iconv("WINDOWS-1251", "UTF-8", $text));
 
Можно воспользоваться сервисом "RSS на мыло". И использовать опции блоггера для публикации с мыла.
 
gls - выложи одно из таких писем с ящика (файлом eml) - интерисует в какой оно кодировке.

Скорее всего поможет отправление в нужной кодировке перекодировав iconv
вот так например
PHP:
iconv("WINDOWS-1251", "UTF-8", $text));
так этот email создается прямо в блогере автоматом - твой_логи.любые_символы@blogger.com и все, так что я даже не в курсе как в него залезть, ну и через эти скрипты по крону отправляешь на этот email нужную rss.
 
ну так любой другой email свой укажи чтобы ты хотябы видел что и в каком виде скрипт отсылает...
проблема в кодировке и не более того
 
Решился каким-либо оюразом вопрос? Я тоже пробовал использовать эти скрипты, желаемого эффекта не достиг. Про отсылку на другую почту - это вопрос решаемый неочевидно. Если посмотреть на скрипты, то видно что там явно указан параметр UTF-8 (тот самый, который использует блоггер). Если я попросту забью во все переменные текст кириллицей, то все равно получу означенные ТС кракозябры.
Если этот же скрипт зашлет письмо в The Bat! - там будет читаться все нормально. Аналогично, если письмо направить на какой-либо www ящик - типа я.ру, майл.ру и пр.
Я пробовал играться с трубами, как результат, вывести напрямую в блогспот не смог. Сейчас, получаю трубную почту на The Bat! и сразу автоматом перенаправляю в блогспот. Решение кривое и отжирает трафик, но работает.

Хотелось бы распрямить ситуацию. Вот увидел, случайно проходя и вновь возбудился темой...
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху