Проблема с корректностью работы RSS фида блога

Пользуюсь сборкой WP от maxsite, версией для UTF8

Сначала фид отображался нормально, настройки и параметры баз стояли по дефаулту хостера. Потом я решил все это дело забекапить. И оказалось, что UTF8 данные в базу у меня на SQL5 пишутся в формате UTF8 а сама база и таблицы в ней имеют свойства cp1251. Бекапы при этом без правильной установки collation получались исключительно кривые. Сделал я некривой бекап, потом пересоздал базу со свойствами UTF8 все перезалил обратно с UTF8 свойствами и включил в файле wp-db.php вот эти параметры:

$wpdb->query("SET NAMES ‘utf8’");
$wpdb->query("SET CHARACTER_SET_CLIENT=’utf8’");

$wpdb->query("SET CHARACTER_SET_CONNECTION=’utf8’");
$wpdb->query("SET CHARACTER_SET_RESULTS=’utf8’");
$wpdb->query("SET CHARACTER_SET_SERVER=’utf8’");
$wpdb->query("SET COLLATION_CONNECTION=’utf8_general_ci’");
$wpdb->query("SET COLLATION_SERVER=’utf8_general_ci’");

В результате у меня все работает нормально, нигде ничего нет битого, но появились проблемы с фидом:

http://mingan.dp.ua/feed/

И MSIE и FireFox выдают вот такую вот ошибку:

Invalid at the top level of the document. Error processing resource ‘http://mingan.dp.ua/feed/’. Line 1, Position 1

&#65279;&#65279;<?xml version="1.0" encoding="UTF-8"?>
^

Что это? 🙁 И как лечить это?

Это сообщение означает, что в rss присутствует какой-то мусор. Проверьте файлы wp-rss.php и wp-rss2.php – скорее всего в них неверно произведена кодировка в UTF-8. Нужно их пересохранить Блокнотом.

Или перескачайте или достаньте из архива еще раз эти два несчастных файла.

Перескачал "несчастные" файлы, перезаливал и в binary mode и в ASCII mode. Посмотрел на их нутро и в Блокноте и в FARе. Визуально мусора там нет

Не помогло 🙁

На сервере PHP 5.2 и SQL 5, то есть все самое последнее у хостера.

Вы попробуйте перезалить эти файлы на фтп, но перед тем не открывайте их. Возможно, шалит текстовый редактор. У иеня такое было с SciTE и UTF-8. Если Вы открыли файл и сохранили его, редактор мог в нем ещн чего-нибудь дорисовать, а визуально Вы этого и не увидите.

Взял файлики эти из дистрибутива. И ни разу их не открывая снова попробовал работу rss после заливки на ФТП их как в binary так и в text mode, не помогает 🙁 Упорно не помогает 🙁

Значит, какой-то другой файл неверно кодирован. Если есть TotalCommander, то на php-файле нажимаете F3, после этого 3 (режим шестнадцатеричный) и правом столбике смотрите наличие символов в самом начале файла (обычно до <?php ) – если ничего нет, значит все нормально. Если же есть какие-либо символы, значит это и есть мусор.

Anonymous
Отправить
Ответ на: