Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Кодировка и strtolower


Автор: Raily 22.4.2009, 14:20
У меня такой вопрос: есть переменная $poisk, если её выводить на экран при помощи print, то она нормально выводится, а если эту строковую переменную перевести в нижний регистр функцией strtolower и потом напечатать на экране, то выводятся каракули, кто может подсказать - как с этим бороться?

Автор: enof 22.4.2009, 14:25
Кодировка  utf8?
Либо юзать перегруженные str_* функции, либо юзать напрямую mb_*.

Добавлено @ 14:29
Всмысле mb_strtolower() - функция для работы с юникодом.
Так же возможна перегрузка стандартных функций, наподобии strtolower(), за это отвечает не помню какая директива в php.ini,
что-то наподобие mb_string_overload.
Т.е. в коде будет пишется strtolower(), а на самом деле вызывается mb_strtolower().

Автор: Raily 22.4.2009, 14:38
спасибо, попробую использовать mb функцию

Автор: enof 22.4.2009, 14:41
Есть еще вариант выставить локаль. Ну это так, если дальше поиски решения проблемы будут продолжаться.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)