Рейтинг@Mail.ru

Ссылки Sape отображаются вопросиками

Итак, вы вроде бы правильно установили код Sape на свой сайт, однако ссылки там отображаются в виде вопросиков, то есть не в той кодировке.


Связано это с тем, что файл со ссылками из Sape к вам приезжает по умолчанию в Win1251, а большинство современных сайтов работают в UTF8. FAQ по Sape дает два решения этой проблемы, я попробовал оба и они оба работают. Первый – прописать нужную кодировку в коде вывода ссылки. Поскольку файл у нас в Win-1251, ее и прописываем. В моем случае код изменился следующим образом.

<?php
global $sape;
echo iconv( "windows-1251", "UTF-8", $sape->return_links() );

Проверяем – ссылки Sape стали в нужной кодировке. Второй способ – глобальный. Вам нужно изменить код скрипта Sape. Вам нужно указать нужную кодировку, совпадающую с кодировкой сайта – в моем случае это UTF8. Не забудьте еще в коде в скобочках добавить вызов переменной. В моем случае код Sape стал выглядеть так.

<?php
global $sape;
     if (!defined('_SAPE_USER')){
        define('_SAPE_USER', 'ВАШ КОД');
     }
     require_once(realpath($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php'));
$o['charset'] = 'UTF-8';
$sape = new SAPE_client($o);
unset($o);
?>

Теперь нужно удалить файл links.db который приехал из Sape и открыть страницу сайта. Скрипт засосет файл заново, и на этот раз он будет уже в правильной кодировке UTF-8.

Leave a Comment