Яндекс и UTF-8. Глюки продолжаются.
30.01.2007, nickspring
Как-то обсуждал преимущества UTF-8 на searchengines.ru и мне указали на явный недостаток - в сниппетах Яндекс русскую букву "Р" (именно заглавную) заменяет знаком вопроса "?". Недавно такой же глюк мы получили на одном из своих сайтов. Сейчас можно однозначно сказать, что у нас была ошибка и у Яндекса она тоже имеется, причем той же природы
. Дело в том, что просто в одном из регулярных выражений, обрабатывающих текст, не указано, что текст в кодировке Unicode. У нас это выглядело так (на языке PHP):
$text = preg_replace(’/\s+/’, ‘’, $text);
а надо:
$text = preg_replace(’/\s+/u’, ‘’, $text);
В первом случае происходит обработка строки с учетом того, что 1 байт = 1 символ (а это не так) , из-за чего "портится" русская "Р".
Уважаемые разработчики Яндекса, когда поправим у себя? ;-)
31.01.2007 в 1:00 pm.
Николай, 5 баллов!
31.01.2007 в 1:36 pm.
31.01.2007 в 10:36 pm.