Joomla 1.0 Кодировка новостей с граббера

Тема в разделе "Кодировки, ошибки отображения (крякозябры)", создана пользователем Fanamura, 09.01.2009.

  1. Fanamura
    Offline

    Fanamura Доброта

    Регистрация:
    12.03.2007
    Сообщения:
    5 094
    Симпатии:
    158
    Пол:
    Мужской
    Проблема:
    все новости импортированные граббером (разрешение на это получено, ссылки на источник и т.д. стоят) отображаются знаками вопроса (пример), так же и в БД. Кодировку определить мне никак не удается. Проблема возникла после переноса сайта на новый сервер. Новости добавляемые с админки отображаются нормально.

    Таблица и сопоставление БД cp1251_general_ci
    Сайт донор в кодировке win

    В чем может заключаться проблема?

    Joostina 1.2.0 RC6
     
  2.  
  3. doctorgrif
    Offline

    doctorgrif Местный => Cпециалист <=

    Регистрация:
    14.01.2008
    Сообщения:
    1 284
    Симпатии:
    66
    Пол:
    Мужской
    по ссылке "у вас недостаточно прав"
    у тебя на амуртиме кроме прочего видимо не все перенесено - http://www.amurteam.ru/component/option,com_marketplace/page,show_ad/catid,8/adid,1/Itemid,6/ не подгружена картинка
    Грабер какой?Если что - могу дать свой - он без проблем забирает
     
  4. Fanamura
    Offline

    Fanamura Доброта

    Регистрация:
    12.03.2007
    Сообщения:
    5 094
    Симпатии:
    158
    Пол:
    Мужской
    Граббер самописный, специфический, другой не подойдет по ряду причин.
    Вот код:
    Код (CODE):
    1. <?
    2. set_time_limit(0);
    3. include('../configuration.php');  // put k konfigu JOOSTINI
    4. //
    5. $baseurl='блаблабла';
    6. $alllink=array();
    7. $donelink=array();
    8. $flag=true;
    9. //
    10. function connect()
    11. {
    12.   global $mosConfig_host, $mosConfig_user, $mosConfig_password, $mosConfig_db;
    13.   mysql_connect($mosConfig_host, $mosConfig_user, $mosConfig_password);
    14.   mysql_select_db($mosConfig_db);
    15. }
    16. //
    17. function insertNews($data)
    18. {
    19.   global $mosConfig_dbprefix;
    20.   $query='INSERT INTO '.$mosConfig_dbprefix.'content
    21.   SET
    22.    title="'.mysql_real_escape_string($data['title']).'",
    23.    title_alias="'.mysql_real_escape_string($data['title']).'",
    24.    introtext="'.mysql_real_escape_string($data['news']).'",
    25.    state=1,
    26.    sectionid='.$data['sectionid'].',
    27.    mask=0,
    28.    catid='.$data['catid'].',
    29.    created="'.$data['date'].'",
    30.    created_by=64,
    31.    created_by_alias="'.mysql_real_escape_string($data['autor']).'&nbsp;Издание:'.mysql_real_escape_string($data['izdanie']).'",
    32.    modified="0000-00-00 00:00:00",
    33.    modified_by=0,
    34.    checked_out=0,
    35.    checked_out_time="0000-00-00 00:00:00",
    36.    publish_up="0000-00-00 00:00:00",
    37.    publish_down="0000-00-00 00:00:00",
    38.    images="",
    39.    urls="",
    40.    attribs="",
    41.    version=1,
    42.    parentid=0,
    43.    ordering=0,
    44.    metakey="'.$data['link'].'",
    45.    metadesc="'.mysql_real_escape_string($data['ssila']).'",
    46.    access=0,
    47.    hits=0,
    48.    notetext="";';
    49.    if($data['link']!='/news/') { mysql_query($query);}
    50.    
    51.   echo $data['link']."  \n";
    52. }
    53. //
    54. function check($link)
    55. {
    56.  блаблабла
    57. }
    58. //
    59. function getPage($url)
    60. {
    61.   $curl=curl_init($url);
    62.   curl_setopt($curl, CURLOPT_HEADER, false);
    63.   curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    64.   curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; MyIE2; MRA 4.2 (build 01102))');  
    65.   //
    66.   $res=str_replace(chr(13),'',curl_exec($curl));  
    67.   curl_close($curl);
    68.   return $res;  
    69. }
    70. //
    71.  
    72. function parseLinks($str)
    73. {
    74. блаблабла
    75. }
    76.  
    77.  
    78. function process($link)
    79. {
    80. блаблабла
    81.   }
    82.  
    83.   preg_match('#<tr valign=top><td>\n\n<b>(.*?)</b><br/>#msi',$str,$title);
    84.   preg_match('#Дата: (.*?)\s([^0-9]+)\s([0-9]+):([0-9]+)<br>#msi',$str,$date);
    85.   preg_match('#Автор: (.*?)<br>#msi',$str,$autor);
    86.   preg_match('#Источник: (.*?)<br>#msi',$str,$izdanie);
    87.   preg_match('#<i>Источник: <a href="(.*?)" target=_blank>#msi',$str,$ssila);
    88.   preg_match('#<div>(.*?)(</div>|<i>)#msi',$str,$news);
    89.   $data=array();
    90.   $data['link']=$link_check[0];
    91.   $data['title']=$title[1];
    92.   $data['news']=$news[1];
    93.   $_temp=explode(' ', $news[1], 40); unset($_temp[count($_temp)-1]); // 40 - kol-vo slov v kratokoy novosti
    94.   $data['smallnews']=implode(' ', $_temp);
    95.   $data['date']=date('Y-m-d')." ".$date[3].":".$date[4].":00";
    96.   $data['catid']=(preg_match('#амур#msi', $str)?2:3);  // pervaya cifra eto ID o AMURE , vtoraya - ne щи AMURE
    97.   $data['sectionid']=(preg_match('#амур#msi', $str)?2:5);  // pervaya cifra eto ID o AMURE , vtoraya - ne щи AMURE
    98.   $data['autor']=$autor[1];
    99.   $data['izdanie']=$izdanie[1];
    100.   $data['ssila']=$ssila[1];
    101.  
    102.    if(check($link_check[0]) && trim($data['link'])!='' && trim($data['title'])!='' && trim($data['news'])!='') insertNews($data); // otbros pustih novostey
    103.   }
    104. }
    105.  
    106.  
    107. function grabNews()
    108. {
    109. блаблабла
    110.  
    111. }
    112. ?>


    Что бы сделать? :(
     

Поделиться этой страницей

Загрузка...