ФорумПрограммированиеPHP для идиотов → strtoupper

strtoupper

  • artoodetoo

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

    Spritz 13 апреля 2011 г. 4:24, спустя 23 минуты 24 секунды


    если cp1251
    то setlocale

    здесь есть большое НО. если мы не на своем серваке, а на шареде, то способ очень ненадежный. локаль действует на систему в целом, а не только на текущий пользовательский request. то есть ты меняешь локаль и это влияет на твоих соседей, они меняют - влияет на тебя )))

    к слову, функции mb_* умеют работать и с однобайтными кодировками и при этом не зависят от локали.
    ιιlllιlllι унц-унц
  • technobulka

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

    Spritz 13 апреля 2011 г. 6:37, спустя 2 часа 12 минут 43 секунды

    тогда жми капслок))
    Высокоуровневое абстрактное говно
  • Faster

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

    Spritz 13 апреля 2011 г. 8:46, спустя 2 часа 9 минут 17 секунд



    если cp1251
    то setlocale

    здесь есть большое НО. если мы не на своем серваке, а на шареде, то способ очень ненадежный. локаль действует на систему в целом, а не только на текущий пользовательский request. то есть ты меняешь локаль и это влияет на твоих соседей, они меняют - влияет на тебя )))

    это в порядке бреда было написано?
    вопрос ТС был:
    не срабатывает простая функция strtoupper в коде:

    как функция setlocale используемая в php коде отдельного файла действует на php.ini шареда?
  • artoodetoo

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

    Spritz 13 апреля 2011 г. 11:31, спустя 2 часа 44 минуты 12 секунд

    кто сказал про php.ini ?
    ιιlllιlllι унц-унц
  • kostyl

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

    Spritz 14 апреля 2011 г. 3:02, спустя 15 часов 31 минуту 10 секунд

    ooʇǝpooʇɹɐ, а как тогда зависит? по крайней мере на апаче не должно…
  • fgets

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

    Spritz 14 апреля 2011 г. 4:34, спустя 1 час 32 минуты 2 секунды

    если бы он менял что-то в операционке, то ему нужны были бы права рута
  • artoodetoo

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

    Spritz 14 апреля 2011 г. 5:21, спустя 47 минут 14 секунд

    какие еще будут фантастические предположения? читайте ман [man]setlocale[/man] - красное предупреждение,
    возможно это говно только под windows, я хз. мне не раз попадались сообщения от саппортов, что результат setlocale не гарантирован.

    вобщем я в это верю, а вам, фантасты, не верю )))
    ιιlllιlllι унц-унц
  • kostyl

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

    Spritz 14 апреля 2011 г. 5:30, спустя 8 минут 47 секунд

    вобщем я в это верю, а вам, фантасты, не верю )))

    я например, всё правльно выразил, ибо я думал, что апача под виндой на каждое обращение запускае процесс… Не знаю особо как в линухах чё реализовано, но в .Net под виндой локаль определяется в разрезе потоков. Так что можно явно детектировать еще одну PHP "карячку" ))
  • artoodetoo

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

    Spritz 14 апреля 2011 г. 5:46, спустя 15 минут 37 секунд

    "… maintained per process, not per thread … like IIS or Apache on Windows" — если кто-то зацепился глазом за слово Windows, то здесь НЕ написано, что именно Windows всё и ограничивается. Под Windows точно есть говно-эффект, а в других местах зависит от того как организована многопоточность веб-сервера.

    Гугль apache многопоточность и локаль. Собственно PHP тут непричем, пинайте веб-сервер :)
    ιιlllιlllι унц-унц
  • kostyl

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

    Spritz 14 апреля 2011 г. 6:11, спустя 25 минут 3 секунды

    Ну да, PHP не причем, что он не вызвает _configthreadlocale(_ENABLE_PER_THREAD_LOCALE)…
  • ivanscm

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

    Spritz 14 апреля 2011 г. 8:51, спустя 2 часа 40 минут 34 секунды

    а я бы шифт зажал :))
    С возвращением, Пiха!
  • fgets

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

    Spritz 14 апреля 2011 г. 9:24, спустя 33 минуты 21 секунду

    а я бы попил пивка бы
  • kostyl

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

    Spritz 14 апреля 2011 г. 9:27, спустя 2 минуты 50 секунд

    странно configthreadlocale вызвается во большинстве SAPI интерфейсах

    # ifdef PHP_WIN32
    _configthreadlocale(_ENABLE_PER_THREAD_LOCALE);
    # endif

    Наверно, подразумевается из этого варнинга, что есть вероятность, что веб сервер сам может менять локаль потока в момент его выполнения…. Выходит ooʇǝpooʇɹɐ прав…
  • fgets

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

    Spritz 14 апреля 2011 г. 10:09, спустя 41 минуту 58 секунд

    PHP_WIN32? вроде же всегда писали WINNT в сорцах
  • kostyl

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

    Spritz 15 апреля 2011 г. 5:40, спустя 19 часов 31 минуту 1 секунду

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