SEO Сообщество: Спрашивайте и помогайте

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

Q&A SEO

Как убрать "крокозяблы" в тексте в wordpress

somikk somikk  
0
  15.01.2013 10:18       2 228    
Здравствуйте! Такая проблемка: в моей теме wordpress буквы в конце заголовков выводятся спецсимволами. 
Вот скриншот: http://awesomescreenshot.com/085t08o1e

Как это можно исправить? Проблема только на главной странице.

Ответы на пост (15) Написать ответ
kintarooe kintarooe
91
15.01.2013 12:17
Очень просто. Нужно substr заменить на mb_substr, а strlen на mb_strlen.
И за что тут брать деньги?
0
Решение
kintarooe kintarooe
91
15.01.2013 12:20
Это, кстати, не спецсимволы. Просто русскоязычный WP использует в качестве кодировки Unicode, а там каждый символ занимает два байта. Исходные функции для работы со строками substr и strlen предназначены для работы с однобайтными кодировками, и режут юникод когда пополам (тогда видны кракозяблы), когда ровно...
0
somikk somikk
0
15.01.2013 13:20
Спасибо огромное, то, что и надо было!
0
mikef mikef
74
15.01.2013 10:25
Здравствуйте! Это проблема с кодировкой. Могу за недорого помочь ее исправить)
0
Kalish Kalish
51
15.01.2013 10:29
Поменяйте кодирову, либо UTF-8 или windows-1251. могу бесплатно сказать что не так.
mikef, за такое деньги не берут.
0
somikk somikk
0
15.01.2013 11:06
Да я не жадина, можно и за деньги )
0
Rewersive Rewersive
220
15.01.2013 10:31
Исправить можно в редакторе с поддержкой кодировки UTF-8. Открыть в нем нужный файл, скорее всего - index.php, или header.php, прописать все русские значения вручную, и сохранить в UTF-8.
0
somikk somikk
0
15.01.2013 10:55
Кодировка по умолчанию стоит utf-8. Вручную текст переписывать не вариант - т.к. спецсимволы выводятся на главной в анонсах, а анонсы как вы понимаете меняются каждый день на новодобавленные статьи.
0
mav123 mav123
1073
15.01.2013 11:14
Сейчас не вижу символа, просто пробел http://clip2net.com/s/2IemJ
В любом случае, обрезка заголовка ужасная
0
somikk somikk
0
15.01.2013 11:21
В каком браузере вы открываете? У меня в Chrome и Firefox отображается символ... Думаю, проблема возникает как раз из-за обрезки.
Вы считаете, лучше отказаться от сокращения заголовков?
0
mav123 mav123
1073
16.01.2013 10:36
А на сколько такие заголовки понятны? Если заголовок обрезается на середине второго слова, то есть смысл от такого заголовка?
0
figluk figluk
20
15.01.2013 12:04
Чем обрезаете, плагин какой?
0
somikk somikk
0
15.01.2013 12:06
<?php 
// display only first 60 characters in the slide title.
$short_title = substr(the_title('','',FALSE),0,60);
echo $short_title;
if (strlen($short_title) >59){
echo '';
}
?>
0
somikk somikk
0
15.01.2013 12:07
Это часть кода темы, который делает обрезку. Если вообще его удаляю, выводится пустое поле вместо заголовка поста.
0
figluk figluk
20
15.01.2013 12:24
substr замените на mb_strlen
Проблем в многобайтных символах UTF8, тоесть - кирилицы, стандартная функция режет по середине, соответственно браузер не разпознает кусок кода и отображает свой символьный "ерор"
0