Поддержка Проблемы и решения Перевод кодировки utf-8 в windoes-1251

  • Сайт использует кодировку Windoes-1251. В дириктории blog находится блог на WorldPress.
    Вывоже на первую страницу сайта заголовки 10 последних постов в блоге. Так как кодировки разные, то получаются страшные крякозябры.
    Есть ли способ справиться с этой проблемой, не прибегая к перекодировке всего сайта, так, чтобы заголовки из блога тоже перводились на лету ы Windows-1251?

Просмотр 5 ответов — с 1 по 5 (всего 5)
  • Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Можно использовать функции mb_convert_encoding() или iconv(), чтобы сконвертировать заголовки в нужную кодировку перед выводом.

    Еще мона создать домен третьего уровня типа blog.mysire.ru …. ну если блог не юзает базу и данные с самого сайта

    Спасибо, буду попробовать
    А домен третьего уровня не удобно по причине того, что я прилагаю активные усилия по раскрутке сайта и наращивании его авторитетности. Яндекс третий уровень считает отдельным сайтом, соответственно число посетителей падает из-за того, что сайт еще более новый получается, лишние усилия на раскрутку, тут и так самому домену полгода всего

    Скажите, а как правильно встроить функцию mb_convert_encoding() или iconv(), в код (сам не догонят по причине слабого знания php):

    <?php
    require('/the/path/to/your/wp-blog-header.php');
    ?>
    
    <?php query_posts('showposts=10'); ?>
    <?php while (have_posts()) : the_post(); ?>
    <a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php the_title(); ?></a>
    <?php endwhile;?>

    <?php
    @ob_start();
    ?>
    
    <?php
    require('/the/path/to/your/wp-blog-header.php');
    ?>
    
    <?php query_posts('showposts=10'); ?>
    <?php while (have_posts()) : the_post(); ?>
    <a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php the_title(); ?></a>
    <?php endwhile;?>
    
    <?php
    $page_contents = @ob_get_contents();
    @ob_end_clean();
    echo iconv("UTF-8", "Windows-1252//IGNORE", $page_contents);
    ?>
Просмотр 5 ответов — с 1 по 5 (всего 5)
  • Тема «Перевод кодировки utf-8 в windoes-1251» закрыта для новых ответов.