Почему не работает функция strtolower()Минута “мелкозаписей” в стиле “флудильни” опять в эфире! Сижу сейчас на работе и вдруг напоролся на один старый как моя моторолла баг – “Почему не работает функция strtolower() на php с кириллицей?“. Немного посмеялся и поправил на более корректный вариант в данном случае, заодно решил и сюда отписать, вдруг читатель встретился с таким, но, к сожалению, не будет знать как это решить.
Все дело в том, что strtolower() не работает с многобитными (многобайтными) кодировками (UTF-8 – 16 bit/символ), а кириллица как раз в этом числе – вот почему у вас с английским все вышло, а с русским нет=)
Для этого специально придумали расширение strtolower(), это собственно mb_strtolower(), и, как альтернатива mb_convert_case(). Как использовать?
//тут используется одна функция, но направления конвертации определяются //флагами MB_CASE_LOWER, MB_CASE_UPPER, etc.
P.S. Я думаю вы уже догадались, что эта функция не одна в своем роде с приставкой mb_, а их много, но есть одно НО: для работы таких функций, на сервере требуется расширение php_mbstring, что не всегда доступно – проблему решает обращение к хостеру или же ваши собственные руки. Вернутся Вам будет интересно:
|
- Публикации
Итак, у вас имеется свой собственный форум, но его никто не посещает? Мы готовы помочь вам справиться с этой нелегкой проблемой.
Данная статья в основном рассчитана на тех, кто самостоятельно занимается продвижением своего проекта.
Проклял все настройки кодировок, проклял DirectAdmin и еле-еле нашел то место где располагается и задается общий пароль для ...
Твиттер уже давно стал из нового web 2. 0 сервиса рекламной площадкой с огромным количеством потенциальных пользователей ...
Самое время кратко описать, чем нам придется заниматься. Прежде всего нужно понять, что блог ты будешь делать для получения ...
Долго не знал с чего начать данную статью. Статья что-то типа мыслей вслух и философии.