Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: strtolower странно себя ведет
Форумы портала PHP.SU » PHP » Программирование на PHP » strtolower странно себя ведет

Страниц (1): [1]
 

1. garvey - 11 Июня, 2010 - 11:22:29 - перейти к сообщению
Есть такой кусочек кода

Все работало на первый взгляд, пока в $client не попала кириллица. В БД заносится пустая строка. Если на латинице, всё работает. Убрал strlower () - начало нормально записываться и на кириллице. Что сделать? Как быть? Нужно перевести в нижний регистр.
2. SAD - 11 Июня, 2010 - 11:42:41 - перейти к сообщению
в самом начале скрипта пропишите
setlocale(LC_ALL, 'ru_RU.CP1251', 'rus_RUS.CP1251', 'Russian_Russia.1251', 'russian');
И совет на будущее, ищите решение проблемы сначала в гугле, а потом на форум. Это самые распространенные и легкорешаемые проблемы.
3. garvey - 11 Июня, 2010 - 12:09:07 - перейти к сообщению
Нашел другой способ, более удобный и компактный.
4. JustUserR - 11 Июня, 2010 - 15:58:41 - перейти к сообщению
garvey пишет:
Нашел другой способ, более удобный и компактный
Действительно менять локаль PHP-скрипта из-за пришедших данных менять не стоит - потому что это может сказаться на неправильной трактовке встроенных строковых констант и функциях ввода/вывода Но в принципе можно автоматическим образом определять кодировку входящих данных и выполнять преобразование с помощью iconv - это лучше тем что все строковые данные при работе PHP-скрипта будут содержаться в заведомо верной и одной и той же кодировке

 

Powered by ExBB FM 1.0 RC1