Wordpress und Sape — проблема с кодировкой

Тэги: , ,

Недавно столкнулся с тем, что на одном из блогов ссылки из Sape выводились знаками ЪЪЪЪЪЪ. В FAQ-е Сапы сказано, что при установке на ВП стандартный код нужно дополнить указанием, что используется кодировка utf-8:

<?php
define('_SAPE_USER', 'ххххххххххххххххххххххххххх');
require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
$o['charset'] = 'UTF-8';
$sape = new SAPE_client($o);
unset($o);
echo $sape->return_links();
?>

Однако сие действо, довольно успешно работающее на других блогах, на этом не дало решительно никакого эффекта. Попытки менять типы кодировок в базе данных и в мета-тэгах ни к чему не привели.

Покопавшись в весьма внушительном топике по данной теме на форуме самой Сапы, нашел таки работающий вариант. В нем используется перекодировка с windows-1251 (которая и выдает кракозябры) на utf-8. В конечном итоге, код будет выглядеть так:

<?php
define('_SAPE_USER', ' ххххххххххххххххххххххххххх ');
require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
$o['charset'] = 'windows-1251';
$sape = new SAPE_client();
echo mb_convert_encoding($sape->return_links(), "UTF-8", "CP1251");
unset($o);
?>

Возможно, это кому-то так же поможет.

Вебсовет

rss Подпишитесь на RSS

Или получайте новости на ваш e-mail:

Комментарии (48) на запись “Wordpress und Sape — проблема с кодировкой”

  1. Marina 05.11.2008 16:23

    Простите, что не совсем по теме..
    Пожалуйста будьте добры, подскажите на примере, что именно должно быть написано в поле require_once($_SERVER[’DOCUMENT_ROOT’] вместо DOCUMENT ROOT ?
    Я вчера подставляла массу вариантов, но код так и не стал работать :( Правда, он был не саповский, но строчка там такая же.
    Просто у Вас увидела знакомые слова и решила спросить, Вы, скорее всего, разбираетесь и поможете. Объяснять это где-нибудь на форуме - выше моих сил. А рядом никого кто-бы разбирался в этих тонкостях :(
    Заранее спасибо.

  2. Zodios 05.11.2008 17:25

    А как установить сапу именно на какую-то отдельную страницу? Я имею в виду что если код сапы добавлять в темплейт он ведь сквозняком пойдет по всему сайту?

  3. Zodios 05.11.2008 17:26

    Добавлять код в страницу при написании поста?

  4. Игорь Квентор 05.11.2008 18:39

    Marina, а зачем вам менять эту запись? Она ведет в корень сайта, путь к которому может выглядеть примерно как:
    ../usr/local/apache/htdocs/www/ваш_файл.php
    Не зная точного пути, невозможно подставить нужный адрес.
    А код не работает совсем по другой причине. Но не зная, о чем речь, увы поспособствовать не могу :)

    Zodios, код Сапы как раз и ставят в шаблон (в подвале или сайдбаре), чтобы он шел через весь сайт. Если вам нужно исключить какие-то страницы, то вы сможете сделать это в своем аккаунте в Сапе, удалив эти страницы из списка, найденного роботом.

  5. Marina 05.11.2008 19:28

    То есть эти слова Document Root вообще не надо заменять указанием пути? Вот я балда. Как есть блондинка. :(
    Я решила, что словосочетание ‘DOCUMENT ROOT’ написано для образца, а вместо него надо подставить свой путь. Прошу прощения за ламерский вопрос. Можете удалить оба коммента, если хотите.
    Спасибо за ответ. :)

  6. Игорь Квентор 05.11.2008 19:54

    Не за что! :) Если вы не против, то пусть комменты сохранятся. Может это кому-нить будет полезно.

  7. andryxa 15.11.2008 14:44

    Автор спасибо большое нашел твой блог с гугла, и как раз уже долго искал как нормально установить этот долбаный код сапе. СПАСИБО, СПАСИБО, СПАСИБО. БОЛЬШОЕ!

  8. Студент 24.11.2008 05:58

    Zodios, просто скачайте плагин “execphp” сможете сапу в виджеты ставить и по блокам раскидывать без лишнего гемороя

  9. felix 15.01.2009 10:46

    Такая же проблема, всё кубиками выводилось. Спасибо за подсказку, теперь работает на ура :)

  10. Игорь Квентор 18.01.2009 20:30

    felix, рад, что вам пригодилось! :)

  11. DiM 29.01.2009 22:22

    Спасибо большое, я тоже долго искал ответ. Все заработало. ура)))

  12. Игорь Квентор 29.01.2009 23:01

    Рад, что смог помочь :)

  13. Gotovsky 08.02.2009 17:45

    Спасибо огромное!!! Решение помогло!!! Долго же я мучался пока не нашел это.

  14. Игорь Квентор 09.02.2009 08:30

    Окей! :)

  15. Lex232 23.02.2009 10:44

    Сэнкс! я уже кодировку в файле сейпа пробовал менять, не помогало. Как говориться всё гениальное просто

  16. Игорь Квентор 27.02.2009 09:54

    Эт верно :)

  17. Unlexus 03.03.2009 10:14

    Огромнейшее спасибо вам!!!А я второй день мучаюсь не зная, что делать уже всевозможные кодировки перепробовал!!! Форум сапы лежит из-за тех работ, но вот наткнулся на ваш и блог и все сделал, все работает уряяяя :-)

    Появился один вопросик, что за код у вас еще там написан “unset($o);”??

  18. Игорь Квентор 03.03.2009 10:58

    Unlexus, рад что смог чем-то помочь. А про кусок кода ничего сказать не могу. Сам нашел на форуме такую конструкцию и просто ее использовал :)

  19. Ник 11.04.2009 07:40

    премного благодарен за код

  20. Харьковский Веб-мастер 27.04.2009 12:20

    Спасибо, заработало и не пришлось links.bd удалять…

  21. Александр 19.05.2009 11:34

    огромное спасибо! думал, придется менять шаблон, а тут вон как все просто оказалось

  22. Игорь Квентор 19.05.2009 17:38

    Всегда к вашим услугам, господа! :)

  23. SmaR 30.05.2009 05:46

    Спасибо автор :) Я как раз с такой фигнеё столкнулся, крякозябры выводились, и сапосикй код не помог, а твой пашет, сенкс :)

  24. макс 18.06.2009 23:02

    Респект автору! Использовал другой код и при добовлении нового блога в сапу были временные проблемы, а этот код сразу стал нормально работать.
    Короче удачного развития вашего блога ув. автор.

  25. Aleks 28.06.2009 20:20

    Спасибо друг. Ты настоящий хакер.

  26. Dev 31.07.2009 10:20

    Спасибо, проблему с кодировкой решил первым способом:
    $o[’charset’] = ‘UTF-8′;
    $sape = new SAPE_client($o);
    unset($o);

  27. Серг 06.08.2009 16:40

    При установке WP в концигурационном фале можно выбрать кодировку базы данных. Там стоит UTF-8 Если поменять на win1251 не позвлит ли это избежать проблем с кодировками в будущем?

  28. Игорь Квентор 06.08.2009 20:41

    Серг, выбрать кодировку можно, но официально ВП поддерживает только UTF-8. Поэтому, скорее всего будут проблемы с отображением кириллицы.

  29. Серг 06.08.2009 22:51

    Да, оставил по умолчанию, не стал рисковать. Просто мне надо будет встроить RSS с вордпресса на статичный сайт в win-1251 и php скрипт, который это делает, выводит ерунду :(

  30. Игорь Квентор 07.08.2009 12:26

    Тут может быть два варианта: либо статичный сайт переписать под кодировку UTF-8, либо попробовать пристроить эту же конструкцию из данного поста:

    echo mb_convert_encoding($sape->return_links(), "UTF-8", "CP1251");

    только без Сапы и return_links

  31. Escander 02.09.2009 16:02

    Отличное решение проблемы. Очень помог второй вариант, а то выводились одни вопросики…

  32. барто 16.09.2009 20:49

    Dankon, estimata!!!

  33. Петр 23.09.2009 19:56

    Спасибо, помогло!

  34. PCGAMER2005 02.10.2009 14:36

    Спасибо большое, выручил. А то всё никак было не решить проблему с кодировко, множество ссылок из за этого в эррор ушли.

  35. Илья 09.10.2009 17:26

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

  36. Kokc 02.12.2009 00:39

    СПАСИБО!!!! Единственное что помогло!! :))))

  37. Игорь 16.12.2009 18:31

    Подскажите пожалуйста почему дублируются сылки в подвале сделано как у Вас в первом варианте.
    return_links();

    ?>

    Как я только не крутил его.Если удаляю эту строку echo $sape->return_links(); тогда сылка одна но уже не в тегах и сапа не видит их и в error ставит.
    В чём может быть проблема?

  38. Игорь Квентор 17.12.2009 01:16

    Игорь, сложно сказать. Возможно из-за плагина какого-то глючит. Кэш или супер-кэш какой-нибудь устанавливали?

  39. Игорь 23.12.2009 16:43

    Нет нечего не устанавливал

  40. Игорь Квентор 23.12.2009 17:59

    Тогда увы, подсказать ничего не смогу. Попробуйте поискать на форуме самой Сапы.

  41. Игорь 23.12.2009 18:01

    Всё решил вопрос. Спасибо Игорь за помощь)

  42. Игорь Квентор 23.12.2009 18:33

    Да не за что! А что было? Поделитесь. Вдруг еще кому-нибудь понадобится.

  43. svshka 02.01.2010 19:09

    А, если применять второй вариант, то надо менять кодировку в базе данных и мета-тегах? Если да, то как это сделать. Простите за такой нубовский вопрос, но я только начинаю освоение данного материала.

  44. Yabuti 10.01.2010 16:18

    Огромное Вам спасибо!
    Только Ваш код исправил проблему с неправильным отображением ссылок. Я уже и не знал, что делать.
    А теперь работает ))

  45. Игорь Квентор 10.01.2010 23:51

    Пожалуйста! :)

  46. alla 12.02.2010 21:01

    Спасибо за отличное решение! совет на сапе, действительно не спас! а ваш - помог :)

  47. BigPaPa 01.03.2010 00:10

    Сразу не въехал, но с 3-го раза получилось. СПАСИБО!!! У меня на 3-х блогах такая байда сегодня с обеда. Иду ложиться спать спокойно… благодаря автору блога :)

  48. Николай 09.03.2010 19:05

    Спасибо за разъяснения про сапу

Трэкбеки

Оставить комментарий