Форум → Программирование → PHP для идиотов → Не устанавливается локаль...
Не устанавливается локаль...
-
Подскажите почему не устанавливается локаль, пишу так:
setlocale(LC_ALL, 'ru_RU.UTF-8', 'rus_RUS.UTF-8', 'Russian_Russia.669', 'russian');
echo '==>>'.ucwords(strtolower('привет, МИР!')), PHP_EOL;
echo '==>>'.strtoupper('тест');
и все равно функции работают некорректно, буквы не изменяются в словах. В чем может быть дело? -
13 августа 2009 г. 10:48, спустя 9 минут 34 секунды
progs, а на что должно поменяться, что вы ожидаете? И в какой кодировке вы смотрите страницу?https://smappi.org/ - платформа по созданию API на все случаи жизни -
13 августа 2009 г. 10:52, спустя 4 минуты 38 секунд
И в какой кодировке вы смотрите страницу?
Кодировка страницы UTF-8 вначале стоит header('Content-Type: text/html; charset=utf8');
progs, а на что должно поменяться, что вы ожидаете?
Мне нужно чтобы работали функции ucwords, strtoupper и им подобные, в первом примере все приводиться в нижний регистр, и первая буква делается заглавной, во втором, слово в верхний регистр. Не принципиально что выводиться, просто хочется, чтобы данные функции заработали -
-
13 августа 2009 г. 10:55, спустя 1 минуту 42 секунды
progs, да, как и сказал vasa_c вам надо использовать mbstringhttps://smappi.org/ - платформа по созданию API на все случаи жизни -
13 августа 2009 г. 11:07, спустя 12 минут 12 секунд
mb_ucfirst & mb_ucwords не сущесвует.
Я для себя сделал такую функцию:function mb2_ucfirst($string) {
$string = mb_strtolower($string);
$end_string = mb_substr($string,0,1);
$end_string = mb_strtoupper($end_string).mb_substr($string,1,mb_strlen($string));
return $end_string;
} -
13 августа 2009 г. 11:09, спустя 1 минуту 22 секунды
Всем спасибо, все работает :) использовал mb_convert_case -
13 августа 2009 г. 11:18, спустя 9 минут 39 секунд
Ага , сам недавно с такой проблемой столкнулся , strtolower не работает с utf8 -
13 августа 2009 г. 11:20, спустя 1 минуту 39 секунд
гиви, с инглишом все хуево?))function mb2_ucfirst($string) {
$string = mb_strtolower($string);
$end_string = mb_substr($string,0,1);
$end_string = mb_strtoupper($end_string).mb_substr($string,1,mb_strlen($string));
return $end_string;
}
$end_string = mb_substr($string,0,1);
$end_string = mb_strtoupper($end_string)
это нуникак не $end_string … $string_start стопудово это.
потом замечаение по незнанию манов
$end_string = mb_strtoupper($end_string).mb_substr($string,1,mb_strlen($string));
.mb_substr($string,1,mb_strlen($string));
==
.mb_substr($string,1);
порефакторив, получаемfunction mb2_ucfirst($string) {
$string = mb_strtolower($string);
return mb_strtoupper(mb_substr($string,0,1)).mb_substr($string,1);
}Сапожник без сапог -
13 августа 2009 г. 11:39, спустя 18 минут 34 секунды
phpdude, понял, виноват :)
С инглишом таки полный ппц. А вот относительно остального, то собирал с кусочков сначала, но результата нормального так и не получил. В мне подсказали как (словами объяснили), и пришлось собирать с инета понемногу. Потом нашел уже готовую функцию, правда немного с другим видом, потому собрал своё и готовое в кучу. Вот и получился винегрет. А больше над ней думать не стал, за что согласен получить таки моральных люлей :)
В следующий раз буду повнимательней.
Спасибо за подсказку. -
13 августа 2009 г. 11:50, спустя 11 минут 12 секунд
Givi, рад что помогСпустя 13 сек.пошел куплю сон в бутылочках по 0.5 литраСапожник без сапог -
13 августа 2009 г. 11:51, спустя 1 минуту 24 секунды
мне пару захвати
пошел куплю сон в бутылочках по 0.5 литравсе умрут, а я изумруд
Пожалуйста, авторизуйтесь, чтобы написать комментарий!