Wordpress плагин WP-Shortstat и кодировки
Прижился у меня в блогах на Wordpress плагин WP-ShortStat. Официально он работает c Wordpress до версии 2.7, последний релиз был в прошлом году. Так что пришлось самостоятельно устранять проблемы с кодировками. Заодно добавил поисковик mail.ru.
В PHP я почти ноль, всё делал методом тыка, если ошибся — поправьте, пожалуйста.
- Яндекс и mail.ru иногда отдают текст русского запроса в кодировке windows-1251, а не utf-8. Нашел на форуме способ определения кодировки, который работает лучше, чем
mb_detect_encoding. Добавил в класс wp_shortstat функцию преобразования кодировки запроса:query2utf8. Вызываю её только для Яндекса и mail.ru, хотя по идее надо бы для всех поисковиков. Но кодировка запросов Google почему-то не всегда определяется правильно. - Перенес в функцию
sniffKeywordпреобразование запроса в нижний регистр. - Перенс в функцию
sniffKeywordперекодировку запроса в utf-8.
Теперь sniffKeyword возвращает полностью готовый к употреблению поисковый запрос — преобразованный к нижнему регистру, в utf-8. Русские буквы и отображаются, и сохраняются в базе правильно.
Осталась непонятная проблема с кириллической буквой 'е' — иногда вместо неё почему-то отображается '� �'.
Код для интересующихся. Основан на WP-Shortstat-1.15.
19.07.2010
Метки: PHP, кодировка Рубрики: WordPress, Разработка
ЖЖ
2 комментария
Спасибо!
Hi,if you send me a small diff with the changes I would like to review them and include them in the original wp-shortstat distribuation. thx.
Markus
Написать комментарий