[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: проблемы с кодировкой буржуйсайта
chemax
есть нужда выреза заголовков страниц с одного буржуйского сайта.
там в основном английский язык
но, встречаются и такие слова (Tradução) хз какой язык даже.


PHP
function get_news ($content$start_template$finish_template)
  {

    
$start_pos strpos ($content$start_template);
    
$sub_content substr ($content$start_posstrlen ($content));
    
$finish_pos strpos ($sub_content$finish_template) + strlen ($finish_template);

   return 
substr ($content$start_pos$finish_pos);

}

$start_template='<title>';
$finish_template='</title>';
$artist_name get_news ($html$start_template$finish_template);
после такой обработки становится (traduзгo)

но если добавлять это же слово через поле ввода то все отображется хорошо. эти символы кодируются например (Tradu & # 231; & # 227;o)


кодировка на том сайте charset=iso-8859-1.

посоветуйте что сделать?



Спустя 1 час, 8 минут, 51 секунда (23.08.2009 - 08:09) twin написал(а):
Цитата
кодировка на том сайте charset=iso-8859-1.

А на твоём?

Спустя 38 минут, 43 секунды (23.08.2009 - 08:48) chemax написал(а):
windows-1251

Спустя 1 час, 28 минут, 36 секунд (23.08.2009 - 10:17) twin написал(а):
ну лучше чтоб utf-8 было... Попробуй iconv()

Спустя 1 день, 5 часов, 3 минуты, 38 секунд (24.08.2009 - 15:20) chemax написал(а):
он тупо отрубает последнии символы. вот весь код
PHP
<?php
function get_news ($content$start_template$finish_template)
  {

    
$start_pos strpos ($content$start_template);
    
$sub_content substr ($content$start_posstrlen ($content));
    
$finish_pos strpos ($sub_content$finish_template) + strlen ($finish_template);

   return 
substr ($content$start_pos$finish_pos);

}
$url "http://www.lyricstime.com/dragon-heart-the-blacksmith-tradu-o-lyrics.html";
$agent "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:1.7.12) Gecko/20050919 Firefox/1.0.7" ;
$header [] = "Accept: text/html;q=0.9, text/plain;q=0.8, image/png, */*;q=0.5" ;
$header [] = "Accept_charset: windows-1251, utf-8, utf-16;q=0.6, *;q=0.1";
$header [] = "Accept_encoding: identity";
$header [] = "Accept_language: en-us,en;q=0.5";
$header [] = "Connection: close";
$header [] = "Cache-Control: no-store, no-cache, must-revalidate";
$header [] = "Keep_alive: 300";
$header [] = "Expires: Thu, 01 Jan 1970 00:00:01 GMT";


$ch =  curl_init $url );
    
// CURL будет возвращать результат, а не выводить его в печать
@curl_setopt $ch CURLOPT_RETURNTRANSFER );
    
// выводим подробные сообщения о всех действиях
@curl_setopt $ch CURLOPT_VERBOSE ); 
    
// считываем страничку с хедером от сервера
@curl_setopt $ch CURLOPT_HEADER );
    
// отправим серверу user_agent сформированный нами самими
@curl_setopt $ch CURLOPT_USERAGENT $agent );
    
// оправляем $referer, что пришли с первой страницы сайта
@curl_setopt $ch CURLOPT_REFERER $referer );
    
// оправляем на сервер хедер, который мы сами сформировали
@curl_setopt $ch CURLOPT_HTTPHEADER $header );
    
// при получении HTTP заголовка "Location: " будет 
    // происходить перенаправление
@curl_setopt $ch CURLOPT_FOLLOWLOCATION );
    
// запретить проверку сертификата удаленного сервера
@curl_setopt $ch CURLOPT_SSL_VERIFYPEER);
    
// не будем проверять существование имени
@curl_setopt $ch CURLOPT_SSL_VERIFYHOST);
    
// если есть массив с cookie, то отправим серверу, эти cookie
if ( @is_array ($arr_cookie)){
      while (list(
$key$val) = @each ($arr_cookie)){
      
$COKKIES .= trim ($val[0])."="trim ($val[1])."; ";
       }
@
curl_setopt $ch CURLOPT_COOKIE $COKKIES." expires=Mon, 14-Apr-08 10:34:13 GMT" );
}
    
// если с сервера пришло cookie, то запишем его в файл $cookie_file
@curl_setopt $ch CURLOPT_COOKIEJAR $cookie_file );
@
curl_setopt $ch CURLOPT_COOKIEFILE $cookie_file );
    
// если мы послали данные из формы, которая стоит 
    // на страничке $path, добавляем метод $_POST
if (isset($_POST) and $_SERVER["REQUEST_METHOD"]=="POST"){
     @
curl_setopt $ch CURLOPT_POST );
     @
curl_setopt $ch CURLOPT_POSTFIELDS substr data_encode $_POST ), , - ) );

    
// получаем страничку $path с хедером
$tmp = @curl_exec $ch );
    
// закрываем сеанс Curl
curl_close $ch ); 

$ttmp=get_news($tmp,"<title>","</title>");
$title=get_news($ttmp," - ","</title>");
echo 
iconv("ISO-8859-1""WINDOWS-1251"$title);

мне нужно $title
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.