ФорумПрограммированиеPHP для идиотов → Не устанавливается локаль...

Не устанавливается локаль...

  • progs

    Сообщения: 59 Репутация: N Группа: Кто попало

    Spritz 13 августа 2009 г. 2:38

    Подскажите почему не устанавливается локаль, пишу так:

    setlocale(LC_ALL, 'ru_RU.UTF-8', 'rus_RUS.UTF-8', 'Russian_Russia.669', 'russian');

    echo '==>>'.ucwords(strtolower('привет, МИР!')), PHP_EOL;
    echo '==>>'.strtoupper('тест');

    и все равно функции работают некорректно, буквы не изменяются в словах. В чем может быть дело?
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 13 августа 2009 г. 2:48, спустя 9 минут 34 секунды

    progs, а на что должно поменяться, что вы ожидаете? И в какой кодировке вы смотрите страницу?
    adw/0
  • progs

    Сообщения: 59 Репутация: N Группа: Кто попало

    Spritz 13 августа 2009 г. 2:52, спустя 4 минуты 38 секунд


    И в какой кодировке вы смотрите страницу?

    Кодировка страницы UTF-8 вначале стоит header('Content-Type: text/html; charset=utf8');


    progs, а на что должно поменяться, что вы ожидаете?

    Мне нужно чтобы работали функции ucwords, strtoupper и им подобные, в первом примере все приводиться в нижний регистр, и первая буква делается заглавной, во втором, слово в верхний регистр. Не принципиально что выводиться, просто хочется, чтобы данные функции заработали
  • vasa_c

    Сообщения: 3127 Репутация: N Группа: в ухо

    Spritz 13 августа 2009 г. 2:53, спустя 1 минуту 9 секунд

  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 13 августа 2009 г. 2:55, спустя 1 минуту 42 секунды

    progs, да, как и сказал vasa_c вам надо использовать mbstring
    adw/0
  • Givi

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz 13 августа 2009 г. 3: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;
    }
  • progs

    Сообщения: 59 Репутация: N Группа: Кто попало

    Spritz 13 августа 2009 г. 3:09, спустя 1 минуту 22 секунды

    Всем спасибо, все работает :) использовал mb_convert_case
  • Troy

    Сообщения: 2532 Репутация: N Группа: Джедаи

    Spritz 13 августа 2009 г. 3:18, спустя 9 минут 39 секунд

    Ага , сам недавно с такой проблемой столкнулся , strtolower не работает с utf8
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 13 августа 2009 г. 3: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);
    }
    Сапожник без сапог
  • Givi

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz 13 августа 2009 г. 3:39, спустя 18 минут 34 секунды

    phpdude, понял, виноват :)
    С инглишом таки полный ппц. А вот относительно остального, то собирал с кусочков сначала, но результата нормального так и не получил. В мне подсказали как (словами объяснили), и пришлось собирать с инета понемногу. Потом нашел уже готовую функцию, правда немного с другим видом, потому собрал своё и готовое в кучу. Вот и получился винегрет. А больше над ней думать не стал, за что согласен получить таки моральных люлей :)
    В следующий раз буду повнимательней.
    Спасибо за подсказку.
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 13 августа 2009 г. 3:50, спустя 11 минут 12 секунд

    Givi, рад что помог
    Спустя 13 сек.
    пошел куплю сон в бутылочках по 0.5 литра
    Сапожник без сапог
  • md5

    Сообщения: 11949 Репутация: N Группа: в ухо

    Spritz 13 августа 2009 г. 3:51, спустя 1 минуту 24 секунды


    пошел куплю сон в бутылочках по 0.5 литра
    мне пару захвати
    все умрут, а я изумруд

Пожалуйста, авторизуйтесь, чтобы написать комментарий!