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]   

> Без описания
graf-shakir
Отправлено: 05 Января, 2013 - 22:37:22
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Янв. 2013  


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




Помогите, пожалуйста. В пхп я слабоват, но надо сделать нечто Ниндзя

Есть файл (назовем его index.php)
внутри, через include подключается шапка и прочее.
Также, через include подключается сторонний скрипт (rss читалка с левого сайта) и вот при открытии этой страницы в браузере весь текст показывается нормально, кроме текста этого скрипта вот в таком виде:
Авария "Протона-М

Сохранил все файл в одинаковой кодировке, ничего не получается.
Если подключиться к иностранному rss, то конечно же все показывается как надо.

Помогите пожалуйста, уже волосы на голове рву - лысым скоро стану.
 
 Top
caballero
Отправлено: 05 Января, 2013 - 22:45:18
Post Id


Активный участник


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


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




перекодируй файл в UTF8
и добавь в начало

Header("Content-Type: text/html;charset=UTF-8");


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
broshurkaplus
Отправлено: 05 Января, 2013 - 22:52:30
Post Id



Посетитель


Покинул форум
Сообщений всего: 354
Дата рег-ции: Янв. 2011  
Откуда: Пружаны Бресткая обл. Беларусь


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




попробуйте посмотреть другим браузером
возможно скрипт гдето насильно включает свою кодировку, попробуйте в браузере кодировку установить другую.
а лучше с другой машины если там нормально, то в браузере поправьте, возможно другие люди видят текст нормально.
или данные что возвращает сторонний скрипт перекодировать/конвертировать при возможности, возможно у него в базе кодировка другая
да и дайте глянуть страницу если возможно
 
 Top
graf-shakir
Отправлено: 05 Января, 2013 - 23:10:01
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Янв. 2013  


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




Вложил скрипт в архив.
Там самая элементарная страница со скаченным шаблоном и элементарным скриптом.

Сохранил все в UTF8
добавил в самое начало
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. Header("Content-Type: text/html;charset=UTF-8");
  3. текст скрипта


Не помогло
(Добавление)
Все лежит на локалхосте. Не люблю что-то куда-то грузить, пока не сделаю до ума Улыбка
ну, или просто, не заработает Улыбка
Скачать файл: www.rar
Скачан раз: 53
 
 Top
broshurkaplus
Отправлено: 05 Января, 2013 - 23:26:23
Post Id



Посетитель


Покинул форум
Сообщений всего: 354
Дата рег-ции: Янв. 2011  
Откуда: Пружаны Бресткая обл. Беларусь


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




дык там в хедере
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
быть может надо

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
или
<meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" />

для этого скрипта, у него данные в 1251 или в 8?
попробуйте поменять у себя
да, и у меня в архиве - кракозяблы
 
 Top
graf-shakir
Отправлено: 05 Января, 2013 - 23:37:30
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Янв. 2013  


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




Кастрировал все что можно было.
Через 8 - вообще ничего не хочет показываться. Страница легла. Конвертировал и с БОМом и без него.
Поставил кодировку анси и в хедере прописал:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

сайт работает, но вот читалка снова не пашет.

вложил архив повторно.
Скачать файл: www.rar
Скачан раз: 64
 
 Top
avtor.fox
Отправлено: 05 Января, 2013 - 23:55:06
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


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




graf-shakir пишет:
Кастрировал все что можно было.

Что сделали простите?

файл rss.php - utf-8
Кодировка сервера?

(обычно, для нормальной работы кодировок (единых) достаточно - кодировка сервера, кодировка файлов, соединение с базой данных (сравнение есесьна тоже). Всё выставить например в utf-8 и проблем не будет). хотя.
 
 Top
broshurkaplus
Отправлено: 06 Января, 2013 - 00:00:27
Post Id



Посетитель


Покинул форум
Сообщений всего: 354
Дата рег-ции: Янв. 2011  
Откуда: Пружаны Бресткая обл. Беларусь


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




ну я не очень понимаю, локально
в хедере у меня все по русски + ссылка SRdesign, открывается некий сайт там все по русски, нормально не очень понимаю. что именно выводит рсс. не знаю что подсказать
 
 Top
graf-shakir
Отправлено: 06 Января, 2013 - 00:02:05
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Янв. 2013  


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




avtor.fox пишет:
Кодировка сервера?

Это очень и очень сложный вопрос. Я не программист... что-то понимаю по мелочи.
Денвер с переездом на нормальный хостинг sweb или hts.

Блин, могу денег дать, если потребуется Ниндзя
(Добавление)
broshurkaplus пишет:
ну я не очень понимаю, локально
в хедере у меня все по русски + ссылка SRdesign, открывается некий сайт там все по русски, нормально не очень понимаю. что именно выводит рсс. не знаю что подсказать


Рсс выводит обычную ленту новостей http://www[dot]gazeta[dot]ru/export/gazeta_rss[dot]xml
Возможно, будет другая.

Посмотрел код той ленты, в нем тоже каракули.
Подключил другой рсс (уже нормальный) http://www[dot]lenty[dot]ru/export/bestnews[dot]rss

Но проблема так и осталась Недовольство, огорчение
 
 Top
broshurkaplus
Отправлено: 06 Января, 2013 - 00:26:16
Post Id



Посетитель


Покинул форум
Сообщений всего: 354
Дата рег-ции: Янв. 2011  
Откуда: Пружаны Бресткая обл. Беларусь


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




имелось ввиду в тех файлах что в архиве.
приведенные ленты, обе всё отображают без каракулей у меня. сегодня голова уже не варит. если есть хостинг закиньте их временно на хостинг и с другой машины/браузера ваши файлы посмотрите. у меня реально бывает рабочие сайт криво показывает.
может у вас локально все/бд в 1251 а сравнение в бд в utf-8...
утро вечера мудренее.

(Отредактировано автором: 06 Января, 2013 - 00:26:41)

 
 Top
graf-shakir
Отправлено: 06 Января, 2013 - 00:35:58
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Янв. 2013  


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




Сейчас попробую - отпишусь.
БД не используется вообще.

(Добавление)

Залил на sweb и зашел с телефона.
Отображается все аналогично тому, как на локале

(Добавление)

Добавлю еще одну интересную вещь:
если в файле rss.php в строке 114
CODE (htmlphp):
скопировать код в буфер обмена
  1. Latest news (<? echo $this->all_rss_urls[ $rss_url ]; ?>):

заменить "Latest news" на "Последние новости", то эта надпись отображается корректно.

Можно даже название кнопки на русский переписать - все ОК.
А вот сами тексты новостей не хотят отображаться правильно.

(Добавление)

Решил проблему очень просто: нашел в сети элементарный парсер рсс:

PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. $url = 'http://www.lenty.ru/export/bestnews.rss';       //адрес RSS ленты
  4.  
  5. $rss = @file_get_contents($url);        //получаем содержимое RSS лент в виде одной строки
  6.  
  7. if ($rss) {    
  8.         preg_match_all("/title>[^>]+>/", $rss, $title);         //парсим титлы
  9.         preg_match_all("/<description>[^<]+<\/description>/", $rss, $description);              //парсим дескрипшены
  10.        
  11.         $count = count($title[0])-1;    //число проходов цикла.
  12.        
  13.         for ($i=0; $i < $count; $i++) {
  14.                 echo '<h1>'.substr($title[0][$i+1], 6, -8).'</h1>';             //выводим на печать заголовок статьи
  15.                 echo substr($description[0][$i], 13, -14);              //выводим на печать текст статьи
  16.         }
  17. } else {
  18.         echo '<font color="red">Ошибка парсинга '.$url.'</font>';       //выводим ошибку если file_get_contents() вернула false
  19. }
  20. ?>
  21.  


работает нормально. по крайней мере - показывает.
Спасибо, Всем кто помогал мне.

(Отредактировано автором: 06 Января, 2013 - 01:00:33)

 
 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