Во многих языках, в том числе в испанском и большинстве других европейских
языков, имеются буквы со знаком ударения. На практике, особенно на американских клавиатурах, на которых нет клавиш для ввода таких символов, пользователи не ставят знаки ударения (т.е. не "ё", а "е"). Однако некоторые поисковые механизмы, в том числе и Google, различают такие слова в своем индексе.
На рис. 12.1 показан результат поиска в Япёех слова Mexico (Мехико). Адрес этой
страницы— http://www.yandex.ru/yandsearch?text=Mexico&tld=com&lr=187.
Ана рис. 12.2 показан результат поиска по слову Mexico (Мексика) с адресом http: //
www.yandex.ru/yandsearch?text=M%C3%A9xico&lr=187. Как видите, эти результаты
существенно различаются. Служба Google Trends также ясно показывает, что этим двум ключевым словам соответствуют совершенно различные объемы трафика, причем версия без знака ударения встречается значительно чаще. Возможно, причиной этого является то, что слово Mexico есть и в американском английском языке, но, видимо, и не все говорящие поиспански используют эту букву. На рис. 12.3 показано сравнение в Google Trends слов Mexico и Mexico. Вы можете получить его и сами, введя в браузере адрес:
http://www.google.com/trends?q=Mexico%2C+M%C3%A9xico
Особенно часто эти слова смешиваются в URL-адресах, т.к. адреса без знаков ударения смотрятся более профессионально — т.е. /Mexico. html, а не /M%C3%A9xico. html.
Кроме того, знаки ударения часто опускаются в заголовках; в некоторых языках
так принято. Приведенная ниже функция нормализует символы с надстрочными знаками из западноевропейских языков в их эквиваленты безо всяких знаков. Ее можно использовать в любом месте кода, в том числе в функциях генерации URL и в коде на уровне представления. Эта функция будет применена для работы с URL в примере магазина электронной коммерции, чтобы сделать их менее громоздкими и защититься от неправильного ввода. Первоначально она была представлена на странице http://us3.php.net/strtr:
function normalizeExtendedCharacters($str)
{
return strtr($str,
"\xel\xcl\xe0\xc0\xe2\xc2\xe4\xc4\xe3\xc3\xe5\xc5".
"\xaa\xe7\xc7\xe9\xc9\xe8\xc8\xea\xca\xeb\xcb\xed".
"\xcd\xec\xcc\xee\xce\xef\xcf\xfl\xdl\xf3\xd3\xf2".
"\xd2\xf4\xd4\xf6\xd6\xf5\xd5\x8\xd8\xba\xf0\xfa".
"\xda\xf9\xd9\xfb\xdb\xfc\xdc\xfd\xdd\xff\xe6\xc6\xdf",
"aAaAaAaAaAaAacGeEeEeEeEililililnNoOoOoOoOoOoOoouUuUuUuUyYyaAs");
}
Буквы с надстрочными (диакритическими) знаками
Tagged: