Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: кодировка Т ???

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Serpanok
Отправлено: 12 Ноября, 2011 - 00:19:38
Post Id


Частый гость


Покинул форум
Сообщений всего: 133
Дата рег-ции: Февр. 2011  
Откуда: Красный Лиман, Украина


Помог: 0 раз(а)




Всем привет!

Я получаю и вывожу rss поток
CODE (htmlphp):
скопировать код в буфер обмена
  1. $rss=file_get_contents("http://twitter.com/statuses/user_timeline/18001410.rss");
  2. echo $rss;


но почему то все русские буквы выглядят как то так Т.

В чём проблема?

Заранее спасибо!
 
 Top
illy
Отправлено: 12 Ноября, 2011 - 06:52:57
Post Id



Участник


Покинул форум
Сообщений всего: 1117
Дата рег-ции: Июль 2011  
Откуда: от верблюда)


Помог: 28 раз(а)




PHP:
скопировать код в буфер обмена
  1. <!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'>
  2. <html>
  3. <head>
  4. <meta http-equiv='content-type' content='text/html; charset=UTF-8'>";
  5. </head>
  6. <body>
  7. <?PHP
  8. $rss=file_get_contents("http://twitter.com/statuses/user_timeline/18001410.rss");
  9. echo $rss;
  10. ?>
  11. </body>
  12. </html>

(Отредактировано автором: 12 Ноября, 2011 - 06:53:10)



-----
Всё гениальное - просто
И ещё проще, если ты - индиго
 
 Top
Serpanok
Отправлено: 12 Ноября, 2011 - 07:43:07
Post Id


Частый гость


Покинул форум
Сообщений всего: 133
Дата рег-ции: Февр. 2011  
Откуда: Красный Лиман, Украина


Помог: 0 раз(а)




illy пишет:
PHP:
скопировать код в буфер обмена
  1. <!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'>
  2. <html>
  3. <head>
  4. <meta http-equiv='content-type' content='text/html; charset=UTF-8'>";
  5. </head>
  6. <body>
  7. <?PHP
  8. $rss=file_get_contents("http://twitter.com/statuses/user_timeline/18001410.rss");
  9. echo $rss;
  10. ?>
  11. </body>
  12. </html>


а в базу тоже так заносится! iconv пробовал-ничего!
 
 Top
Данил_123
Отправлено: 12 Ноября, 2011 - 20:11:24
Post Id


Участник


Покинул форум
Сообщений всего: 1026
Дата рег-ции: Июнь 2011  
Откуда: rostov


Помог: 9 раз(а)




интересно http://twitter.com/statuses/user_timeline/18001410.rss
// не превратит все в коментрарий?
(Добавление)
Все оно ведь экранизировано..
Спойлер (Отобразить)
вроде русские буквы.. С кодом illy


-----
http://mysitecost.ru
 
 Top
ALEN
Отправлено: 12 Ноября, 2011 - 20:24:41
Post Id



Участник


Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008  
Откуда: Крым


Помог: 11 раз(а)




1) При получении файла нужно перекодировать в соответствующую кодировку
2) Категорически не рекомендую использовать file_get_contents для обращения по url - есть curl
3) В данном случае нужно учитывать кодировку, источника, самого парсера и базы данных
 
 Top
Данил_123
Отправлено: 12 Ноября, 2011 - 20:35:07
Post Id


Участник


Покинул форум
Сообщений всего: 1026
Дата рег-ции: Июнь 2011  
Откуда: rostov


Помог: 9 раз(а)




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


-----
http://mysitecost.ru
 
 Top
vectorserver
Отправлено: 12 Ноября, 2011 - 21:45:05
Post Id



Гость


Покинул форум
Сообщений всего: 105
Дата рег-ции: Нояб. 2011  


Помог: 3 раз(а)




Вот он стастье ... Радость
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $rss = "http://twitter.com/statuses/user_timeline/18001410.rss";
  3. $xml = @simplexml_load_file($rss);
  4.  if ( $xml===false ) die('У этого сайта нет RSS: '.$rss);
  5.  foreach ( $xml->xpath ('//item') as $item )
  6. {
  7. $vihod = "<h3>{$item->title}</h3>{$item->description}";
  8. echo iconv("utf-8","cp1251",$vihod);
  9. }
  10. ?>
 
 Top
Serpanok
Отправлено: 12 Ноября, 2011 - 21:45:58
Post Id


Частый гость


Покинул форум
Сообщений всего: 133
Дата рег-ции: Февр. 2011  
Откуда: Красный Лиман, Украина


Помог: 0 раз(а)




ALEN, попробовал curl, так:
CODE (htmlphp):
скопировать код в буфер обмена
  1. $ch = curl_init();
  2. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
  3. curl_setopt($ch, CURLOPT_URL, "http://twitter.com/statuses/user_timeline/1.rss");
  4. $res=curl_exec($ch);

в браузере всё ок, а открываю исходный код так


уже пробовал
CODE (htmlphp):
скопировать код в буфер обмена
  1. iconv("utf-8","windows-1251",$res);
нифига!

Кодировка моего файла windows-1251, а удалённого походу utf-8
 
 Top
vectorserver
Отправлено: 12 Ноября, 2011 - 21:50:05
Post Id



Гость


Покинул форум
Сообщений всего: 105
Дата рег-ции: Нояб. 2011  


Помог: 3 раз(а)




Мой скрипт пробовал?
 
 Top
Serpanok
Отправлено: 12 Ноября, 2011 - 21:51:33
Post Id


Частый гость


Покинул форум
Сообщений всего: 133
Дата рег-ции: Февр. 2011  
Откуда: Красный Лиман, Украина


Помог: 0 раз(а)




vectorserver, ток шо) работает! СПС)))
 
 Top
vectorserver
Отправлено: 12 Ноября, 2011 - 21:51:58
Post Id



Гость


Покинул форум
Сообщений всего: 105
Дата рег-ции: Нояб. 2011  


Помог: 3 раз(а)




vectorserver пишет:
Мой скрипт пробовал?

Кодировка твита = UTF-8
 
 Top
Serpanok
Отправлено: 12 Ноября, 2011 - 21:55:53
Post Id


Частый гость


Покинул форум
Сообщений всего: 133
Дата рег-ции: Февр. 2011  
Откуда: Красный Лиман, Украина


Помог: 0 раз(а)




я понял, но не понял, почему когда я делаю так
CODE (htmlphp):
скопировать код в буфер обмена
  1. echo iconv("utf-8","windows-1251",file_get_contents("/feed/"));
выводилась utf-8 вместо windows-1251?
 
 Top
vectorserver
Отправлено: 12 Ноября, 2011 - 21:57:49
Post Id



Гость


Покинул форум
Сообщений всего: 105
Дата рег-ции: Нояб. 2011  


Помог: 3 раз(а)




Дано не доверяю windows-1251
cp1251 - лучше обрабатывает кириллицу
 
 Top
Serpanok
Отправлено: 12 Ноября, 2011 - 21:59:25
Post Id


Частый гость


Покинул форум
Сообщений всего: 133
Дата рег-ции: Февр. 2011  
Откуда: Красный Лиман, Украина


Помог: 0 раз(а)




не знаю, не знаю, главное, что заработало ;)
 
 Top
Serpanok
Отправлено: 13 Ноября, 2011 - 16:24:42
Post Id


Частый гость


Покинул форум
Сообщений всего: 133
Дата рег-ции: Февр. 2011  
Откуда: Красный Лиман, Украина


Помог: 0 раз(а)




vectorserver, А почему в теги такого формата content:encoded, т.е. где есть : в массив не попадают?
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB