Конференция "Прочее" » RSS-поток в кодировке UTF-8
 
  • Урсулапов_ (04.10.08 17:22) [0]
    Никак не могу разобраться.
    Сделал rss-поток на сайте http://kzmuzon.net/new/rss.php .
    Мозилла 2 открывает нормально, а вот Опера и Эксплорер 7 указывают на ошибку:
    Ошибка разбора XML: синтаксическая ошибка (Строка: 1, Символ: 0)
    Скачал этот самый файл Доунлоад мастером, поставил на локальный веб-сервер и попытался открыть, так же. Мозилла открывает, остальные - нет.
    Так-с. Открыл этот файл (тот, который на локальном веб-сервере лежал) winHEX-ом, а там первые символы - EF BB BF EF BB BF. Удалил их, сохранил файл - теперь все браузеры открывают нормально.
    Так-с. Значит, беда в том, что скрипт добавляет эти символы в начало файла, хотя я не писал это.
    Как это исправить?
    ЗЫ.  Исходный код скрипта можно посмотреть на сайте http://kzmuzon.net/new/rss.txt
  • antonn © (04.10.08 17:53) [1]
    может это BOM?
  • antonn © (04.10.08 17:54) [2]
  • Урсулапов_ (04.10.08 17:58) [3]
    Ну да, спасибо, там так и написано, что УТФ-8 обозначается с EF BB BF. А как убрать это со скрипта? Или, если убрать - путь неправильный, то что делать?
    Я просто в кодировках не сильно разбираюсь, прошу прощения :)
  • Урсулапов_ (04.10.08 18:23) [4]
    Хмм...
    Было
    <?header("content-type: application/rss+xml");

    include_once('./functions.php');
    include_once('./config.php');

    echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>
    <rss version=\"2.0\">
    ....\n";



    Поменял так:
    <?header("content-type: application/rss+xml");

    echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>
    <rss version=\"2.0\">
    ....\n";

    include_once('./functions.php');
    include_once('./config.php');



    Теперь все нормально. Вроде. Спасибо всем. ))
  • antonn © (04.10.08 20:19) [5]

    > Урсулапов_   (04.10.08 18:23) [4]

    какой то инклудящийся скрипт был сохранен в юникоде с BOM, например в блокнотике, а блокнотик его ставит, а так как этот символ идет до тегов ПХП, то эти каракули идут в вывод страницы (а некоторые умники не знают про это, и орут потом, что его скрипт заразили вирусом и сносят сайт намертво, восстанавливая потом из бекапа :)) ).
    судя по тому, что было две метки, скорее всего эти два скрипта и были в юникоде с ВОМ :)

    Кстати, его видно если открыть этот файл в дельфи, там в самом начале будет 
 
Конференция "Прочее" » RSS-поток в кодировке UTF-8
Есть новые Нет новых   [134442   +15][b:0][p:0.001]