Кнопка «Добавить в Facebook» копирует часть текста записи в виде кракозябр

Вопросы
👍 Научим создавать сайты на WordPress бесплатно за 19 уроков. Подробнее →

С недавних пор при использовании кнопки «Добавить в Facebook» кусок текста записи копируется в виде кракозябр:
Кнопка "Добавить в Facebook" копирует часть текста записи в виде кракозябр

Код кнопки:

<a rel="nofollow" target="blank" href="http://www.facebook.com/sharer.php?u="><img src="http://zashitnik.com/wp-content/32/facebook.png" width="32" height="32" title="Поделиться в Facebook"></a>

Почему?

Создай свой первый сайт на WordPress

vollirik
Оцените автора
Добавить комментарий

  1. Наверное потому что сайт отдает текст не в UTF-8. В .htaccess есть указание кодировки?

    AddDefaultCharset UTF-8

    В wp-config.php прописана кодировка базы данных?

    define('DB_CHARSET', 'utf8');
    Ответить
  2. Кстати, в Google Buzz у вас тоже в виде квадраиков отдает текст, а в Twitter вообще отказывается отправлять. Проверьте на наличие ошибок.

    Ответить
  3. vollirik автор

    1. Все параметры в перечисленных файлах указаны.
    2. Ошибку выдает только IE. Попробовал скопировать кусок из вашей статьи — https://n-wp.ru/kak-sdelat-panel-s-sotsialnyimi-knopkami/ Результат такой же.

    Ответить
  4. vollirik автор

    У вас, кстати, тоже не работает ссылка на twitter в IE. Проверил.

    Ответить
  5. Ruslan

    А вот это попробуйте, я так у себя использую:

    href="http://facebook.com/share.php?u=<?php the_permalink() ?>&t=<?php echo urlencode(the_title('','', false)) ?>"
    
    href="http://twitter.com/share?text=<?php echo urlencode(the_title('','', false)) ?>&url=<?php the_permalink() ?>"
    Ответить
  6. vollirik автор

    Ruslan, с Twitter’ом в IE помогло, а вот с Facebook’ом нет:-(

    Ответить
    1. Ruslan

      Попробуйте временно отключить one in all seo pack, отключите и проверьте, возможно это из-за него

      Ответить
      1. vollirik автор

        Пробовал. Не помогает. Но заметил одну особенность. Более старые записи отображаются нормально, а свежие — нет. Может что-то хостер намудрил? Как проверить?

        Ответить
      2. vollirik автор

        К примеру, вот что PHPMyAdmin показывает:

        Сопоставление соединения с MySQL — «utf8_general_ci»

        И далее MySQL — «MySQL-кодировка: UTF-8 Unicode (utf8)»

        Ответить
        1. Ruslan

          у меня вот эта подпись берётся из поста, возмжно и у вас эти кракозябры берутся от туда-же, попробуйте открыть файл single.php с помощью notepad++ и посмотреть и кодировку, должна быть UTF-8 без DOM
          [img]http://lh4.ggpht.com/_lQOZbCjTXW8/S-u4LvHyx-I/AAAAAAAAAJY/1w2kT4aWePM/notepad-utf-8-without-bom.png[/img]

          Ответить
          1. vollirik автор

            У меня ANSI

            Ответить
            1. Ruslan

              Преобразуйте в UTF-8 без BOM
              и такое лучше проделать со всеми файлами темы.
              Статья по теме: dimox.name/utf-8-without-bom/

              Ответить
              1. vollirik автор

                Notepad++ не хочет преобразовывать. Нажимаю пункт преобразовать, сохраняю файл, закрываю, снова открываю и вижу былую кодировку ANSI

                Ответить
                1. Sergey Biryukov

                  Если в файле нет русских букв, то эти кодировки равнозначны. Проблема, скорее всего, в другом, но я пока не понял, в чём именно :)

                  Ответить
                  1. vollirik автор

                    У меня после этих преобразований вообще сайта накрылся:-(((

                    Ответить
                    1. Sergey Biryukov

                      Верните всё как было :)

                2. Ruslan

                  можно сделать так: ctrl+a, ctrl+x, «Кодировать в UTF-8(без BOM)», ctrl+c, ctrl+s =)

                  Ответить
                  1. Ruslan

                    можно сделать так: ctrl+a, ctrl+x, «Кодировать в UTF-8(без BOM)», ctrl+v, ctrl+s =)

                    Ответить
      3. vollirik автор

        Такое ощущение, что именно при добавлении записи в базу происходит какая-то ошибка.

        Ответить
  7. Sergey Biryukov

    Попробуйте включить в All-in-One SEO Pack автоматическое создание тега description для всех страниц — если он есть, то Facebook берёт текст оттуда. На главной он есть, и её добавление происходит корректно: http://www.facebook.com/sharer/sharer.php?u=http://zashitnik.com/

    Ответить
    1. vollirik автор

      Да, это помогло! Только непонятно почему:-)

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

      Ответить
    2. Ruslan

      у меня facebook берёт текст из поста:
      streetball.name/krossovki-me8-empire

      Ответить
      1. vollirik автор

        Поэтому и странно. У меня ведь по началу тоже брал, а потом вдруг перестал.

        Ответить
        1. Sergey Biryukov

          Предполагаю, что Facebook «спотыкается» о некорректный символ в заголовке «В Новгородской области закон улыбается тол�…» на вкладке «Статистика» и не может интерпретировать страницу как UTF-8.

          Такие символы появляются, когда строка обрезается при помощи функции substr() вместо mb_substr().

          Ответить
          1. vollirik автор

            Это виджет плагина FireStat, который я использую с самого начала. В нем довольно обширная статистика собралась за время существования блога, поэтому не отключаю виджет. Иные плагины, ведущие статистику просмотров, пишут данные в собственные базы, и начинают делать это с момента установки.

            Пробовал копаться в файлах FireStat, но заблудился.

            Ответить
          2. vollirik автор

            И кстати, я сегодня пробовал его отключать. Результата не принесло. Более того, он был включен и в том время, когда появлялись более ранние записи и с которыми проблем не было.

            Ответить
          3. vollirik автор

            А вот сейчас отключил FireStat вообще и выключил автоматическое создание тега description в All-in-One SEO Pack, и стало еще смешнее:

            [img]http://iceimg.com/i/1d/0d/d54b6133d7.jpg[/img]

            Ответить
            1. Sergey Biryukov

              Н-да. Но кодировка, что интересно, в слове «Комментарий» правильная :)

              Ответить
              1. vollirik автор

                Я сдаюсь:-(

                Ответить
                1. Ruslan

                  проделали для всех файлов темы, то что я предлагал?: https://n-wp.ru/knopka-dobavit-v-facebook-kopiruet-chast-teksta-zapisi-v-vide-krakozyabr/

                  Ответить
                  1. vollirik автор

                    Да, для абсолютно всех, кроме ru_RU.mo

                    Ответить
                    1. Ruslan

                      Хах)) Кажется я нашёл))
                      http://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fzashitnik.com%2Fsygraem-chast-2&t=%D0%A1%D1%8B%D0%B3%D1%80%D0%B0%D0%B5%D0%BC.+%D0%A7%D0%B0%D1%81%D1%82%D1%8C+2

                      и

                      http://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fzashitnik.com%2Fsygraem-chast-2%2F&t=%D0%A1%D1%8B%D0%B3%D1%80%D0%B0%D0%B5%D0%BC.+%D0%A7%D0%B0%D1%81%D1%82%D1%8C+2

                      Слэш в конце адреса всё портит)) Можно в ЧПУ настроить)

                    2. vollirik автор

                      И вот как теперь не верить фразе «Все гениальное просто»:-)

                      Огроменное спасибо, Руслан!

                      Работает.

  8. Vadim V

    Супер ребята, со слешем ссылки работают! Только у меня вопрос куда это прописать, чтоб автоматом работало? Например помимо кнопок у меня плагин официальный фейсбука стоит, там виджет рекомендации, так вот раньше там все гуд было, а недавно часть нормально, часть крякозябры. Я как раз по этому виджету заметил что что-то не так. Потом заметил что кнопка фейсбука поделится и лайк тоже самое крякозябры генрят. Вобщем, подскажите пожалуйста как сделать чтоб все было гуд?

    Если нужно ссылки вот: https://www.facebook.com/sharer/sharer.php?u=http://vadimvolos.com/woman-and-business.html и эта же со слешем https://www.facebook.com/sharer/sharer.php?u=http://vadimvolos.com/woman-and-business.html/

    Справа можете увидеть виджет фейсбука рекомендации

    Ответить
    1. Vadim V

      Решил вопрос с помощью изменения адреса ссылок /%category%/%postname%.html
      и плагина для дописывания страницам окончание .html

      Плагин Page_Htm
      http://www.wordpressplugins.ru/seo/page_htm.html

      Ответить