Cotonti / Open Source PHP Content Management FrameworkContent Management Framework

Форуми / National / Russian / Тех. поддержка / Проблема с rss каналом

12>>>

Clever
#1 19.02.2010 01:58
Фигня какая- то...
Есть канал http://auto62rus.ru/NEWS_RSS.php в нем вроде бы все в win-1251, а браузером все равно определяется как utf-8

Собственно вопрос: В чем косяк?
Trustmaster
#2 19.02.2010 03:35
В заголовках ответа сервера:
Content-Type: text/html; charset=utf8
Либо в админке надо кодировку сайта менять, либо хак делать.
May the Source be with you!
Clever
#3 19.02.2010 22:11
Вон оно как...
Спасибо, Trustmaster, в который раз ведь выручаешь...
Прийдется как-то хак делать тк этот рсс под Яндекс.Новости и они жалуются :(
Не подскажешь, как можно сделать?
Trustmaster
#4 20.02.2010 02:07
В system/functions.php в sed_sendheaders() вот такая строчка:
header('Content-Type: '.$contenttype.'; charset='.$cfg['charset']);
Можно в NEWS_RSS.php задать константу
define('YANDEX', true);
и в упомянутой строчке добавить проверку:
if (defined('YANDEX')) header('Content-Type: '.$contenttype.'; charset=windows-1251');
else header('Content-Type: '.$contenttype.'; charset='.$cfg['charset']);
May the Source be with you!
Clever
#5 24.02.2010 01:55
А как можно посмотреть заголовки ответа?
Поменял как написал Trustmaster. То ли неправильно понял, то ли не сработало... Как проверить?
Dayver
#6 24.02.2010 02:01
Pavel Tkachenko aka Dayver. Гик и веб мастер который делает сайты, увлекается электроникой и очень любит смотреть кино.
О себе: Я злой и страшный серый волк, я в поросятах знааааюююю толк
Clever
#7 24.02.2010 02:30
Спасибо, Дайвер.
Убедился, хак не прокатил :(
Trustmaster
#8 24.02.2010 05:47
А содержимое-то в какой кодировке?
May the Source be with you!
Clever
#9 24.02.2010 21:03
ANSI
jcrush
#10 24.02.2010 21:51
# Clever : ANSI

странно почему не utf8
SEO блог: http://blog.stfw.ru/
Trustmaster
#11 24.02.2010 22:09
Так заголовок поменялся или так и выдаёт utf-8?
May the Source be with you!
Clever
#12 25.02.2010 03:09
jcrush, речь о рсс канале для яндекс.новостей, а они принимают только в win1251.
Поэтому и кодировка файла ANSI а не utf-8


Trustmaster, заголовок:
Ответ сервера: HTTP/1.1 200 OK
Сервер: nginx/0.7.62
Дата: Wed, 24 Feb 2010 19:09:54 GMT
Тип контента: text/html; charset=utf8
Transfer-Encoding: chunked
Соединение: keep-alive
Keep-Alive: timeout=20
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Pragma: no-cache
X-Powered-By: PHP/5.2.10
Set-Cookie: PHPSESSID=eba1fa10ca1e1c054e7f782b7507563f; path=/

сейчас для пущей ясности куски кода файлов выложу...

Добавлено 7 Минут спустя:


Відредаговано: Clever (25.02.2010 03:17, 12 років тому)
Trustmaster
#13 25.02.2010 03:50
В 39 строке заменить
header('Content-type: text/xml');
на
header('Content-type: text/xml; charset=windows-1251');
Я забыл, что в RSS функция sed_sendheaders() не используется.
May the Source be with you!
Clever
#14 25.02.2010 03:58
Это в каком файле заменить?
Trustmaster
#15 25.02.2010 05:11
В NEWS_RSS.php
May the Source be with you!

12>>>